Re: topics for the file system mini-summit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

On Thu, Jun 01, 2006 at 06:45:17AM -0600, Matthew Wilcox wrote:
> On Wed, May 31, 2006 at 08:24:18PM -0700, Valerie Henson wrote:
> We don't even need 64-bit inode numbers -- we can use special direntries
> for shadow inodes, and inodes which refer to continuation inodes need
> a new encoding scheme anyway.  Normal inodes would remain 32-bit and
> refer to the local domain, and shadow/continuation inode numbers would
> be 32-bits of domain, plus 32-bits of inode within that domain.

Be careful of 64 bit inode numbers, we have had a world of pain
with those due to broken userspace applications that cannot work
with larger inode numbers (backup programs, with on-disk formats
that only have room for 32 bits).  To the point that we're actually
having to find new ways to keep our inode number space within the
32 bits-of-significance range.

> > > Surely XFS must have a more elegant solution than this?

Do you mean to the problem of inodes spanning multiple devices?
We don't really have this concept in XFS today, but it remains
an area of active interest (and current development).

Or are you refering to the problem of scaling in general?  Yes,
XFS uses many approaches there, it was designed with this in mind.
The first step toward an "elegent solution" is to use 64 bit disk
addressing, or to at least be able to.

> Well, yes.  I think that inside the Linux XFS implementation
> there's a small and neat filesystem struggling to get out.

Hmm, interesting theory.  In reality, no - all the complexity in
XFS is in core places, that no matter how the code is sliced and
diced still need to be done... the allocator, the log code, and
the multiple Btrees could all possibly be simpler, but they are
all critical pieces of XFS's ability to scale upward, and all have
seen many years of tuning under a large variety of workloads.

> For fun, if you're a masochist, try to follow the code flow for
> something easy like fsync().
> ...
> Finally, xfs_fsync actually does the work.  The best bit about all this
> abstraction is that there's only one xfs_vnodeops defined!

No, the best bit is that an abstraction like this is a neat fit to
the problems presented by this multiple-devices-within-one-filesystem
approach.  As I said, this is an area of active interest to us also.

cheers.

-- 
Nathan
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux