All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about inode64
@ 2018-05-10 17:31 Su Yue
  2018-05-10 21:20 ` Eric Sandeen
  0 siblings, 1 reply; 3+ messages in thread
From: Su Yue @ 2018-05-10 17:31 UTC (permalink / raw)
  To: linux-xfs

Hi, XFS developers

Recently, I was told that some 32bit applications don't work
on large XFS filesystems. And it is caused by ino overflow in syscalls.

If I don't misunderstand libxfs/xfs_format, XFS' absolute inode number
consists of agno_log
-agblklog-inopblog bits.
So significative bits = ROUND(log2(Disk size / AG size)) + ROUND(log2(AG
size / BLK size)) + ROUND(log2(BLK size / inode size)). Right?
Does it mean that it's feasible to avoid ino overflow by control of disk
size, AG size, block size, inode size when mkfs even the disk will be mount
with option inode64.

Thanks,
Su

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Question about inode64
  2018-05-10 17:31 Question about inode64 Su Yue
@ 2018-05-10 21:20 ` Eric Sandeen
  2018-05-11  1:48   ` Su Yue
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Sandeen @ 2018-05-10 21:20 UTC (permalink / raw)
  To: Su Yue, linux-xfs

On 5/10/18 12:31 PM, Su Yue wrote:
> Hi, XFS developers
> 
> Recently, I was told that some 32bit applications don't work
> on large XFS filesystems. And it is caused by ino overflow in syscalls.
> 
> If I don't misunderstand libxfs/xfs_format, XFS' absolute inode number
> consists of agno_log
> -agblklog-inopblog bits.
> So significative bits = ROUND(log2(Disk size / AG size)) + ROUND(log2(AG
> size / BLK size)) + ROUND(log2(BLK size / inode size)). Right?

> Does it mean that it's feasible to avoid ino overflow by control of disk
> size, AG size, block size, inode size when mkfs even the disk will be mount
> with option inode64.

Yes, inode number is an encoded disk location, and the encoding depends
on various other bits of filesystem geometry.

Note that "inode64" only means that it will /allow/ some inodes to exceed
32 bits, it does not mean that every inode number /will/ be > 32 bits.

But most people don't want to constrain their filesystem geometry around
inode number sizing; if you require 32-bit inodes, just use the inode32 mount
option.

Or better yet, fix the application.  :)

-Eric

> Thanks,
> Su

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Question about inode64
  2018-05-10 21:20 ` Eric Sandeen
@ 2018-05-11  1:48   ` Su Yue
  0 siblings, 0 replies; 3+ messages in thread
From: Su Yue @ 2018-05-11  1:48 UTC (permalink / raw)
  To: sandeen; +Cc: linux-xfs

Thanks a lot!

After one-night sleep, my brain is clear to figure out
inode bits and inode64 mount option with your explanation.
And your suggestions are helpful too. : )

Su

On Fri, May 11, 2018 at 5:20 AM Eric Sandeen <sandeen@sandeen.net> wrote:

> On 5/10/18 12:31 PM, Su Yue wrote:
> > Hi, XFS developers
> >
> > Recently, I was told that some 32bit applications don't work
> > on large XFS filesystems. And it is caused by ino overflow in syscalls.
> >
> > If I don't misunderstand libxfs/xfs_format, XFS' absolute inode number
> > consists of agno_log
> > -agblklog-inopblog bits.
> > So significative bits = ROUND(log2(Disk size / AG size)) + ROUND(log2(AG
> > size / BLK size)) + ROUND(log2(BLK size / inode size)). Right?

> > Does it mean that it's feasible to avoid ino overflow by control of disk
> > size, AG size, block size, inode size when mkfs even the disk will be
mount
> > with option inode64.

> Yes, inode number is an encoded disk location, and the encoding depends
> on various other bits of filesystem geometry.

> Note that "inode64" only means that it will /allow/ some inodes to exceed
> 32 bits, it does not mean that every inode number /will/ be > 32 bits.

> But most people don't want to constrain their filesystem geometry around
> inode number sizing; if you require 32-bit inodes, just use the inode32
mount
> option.

> Or better yet, fix the application.  :)

> -Eric

> > Thanks,
> > Su

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-11  1:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-10 17:31 Question about inode64 Su Yue
2018-05-10 21:20 ` Eric Sandeen
2018-05-11  1:48   ` Su Yue

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.