Re: topics for the file system mini-summit

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

 



On Wed, May 31, 2006 at 08:42:47PM -0600, Matthew Wilcox wrote:
> On Wed, May 31, 2006 at 07:19:09PM -0700, Valerie Henson wrote:
> > I don't think a block group is a good enough fault isolation domain -
> > think hard links.  What I think we need is normal file system
> > structures when you are referencing stuff inside your fault isolation
> > domain, and something more complicated if you have to reference stuff
> > outside.  One of Arjan's ideas involves something we're calling
> > continuation inodes - if the file's data is stored in multiple
> > domains, it has a separate continuation inode in each domain, and each
> > continuation inode has all the information necessary to run a full
> > fsck on the data inside that domain.  Similarly, if a directory has a
> > hard link to a file outside its domain, we'll have to allocate a
> > continuation inode and dir entry block in the domain containing the
> > file.  The idea is that you can run fsck on a domain without having to
> > go look outside that domain.  You may have to clean up a few things in
> > other domains, but they are easy to find and don't require an fsck in
> > other domains.
> 
> I don't quite get it.  Let's say we have directories A and B in domain A
> and domain B.  A file C is created in directory B and is thus allocated
> in domain B.  Now we create a link to file C in directory A, and remove
> the link from directory B.

All correct up to here...

> Presumably we have a continuation inode in
> domain A and an inode with no references to it in domain B.  How does
> fsck tell that there's a continuation inode in a different domain?

Actually, the continuation inode is in B.  When we create a link in
directory A to file C, a continuation inode for directory A is created
in domain B, and a block containing the link to file C is allocated
inside domain B as well.  So there is no continuation inode in domain
A.

That being said, this idea is at the hand-waving stage and probably
has many other (hopefully non-fatal) flaws.  Thanks for taking a look!

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

val@goober:/usr/src/linux-2.6.16.19$ wc -l `find fs/xfs/ -type f`
[snip]
 109083 total

:)

-VAL
-
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