Re: [RFC] TileFS - a proposal for scalable integrity checking

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

 



On Wed, May 02, 2007 at 03:32:05PM +0200, Jörn Engel wrote:
> On Sun, 29 April 2007 20:40:42 -0500, Matt Mackall wrote:
> > 
> > So we should have no trouble checking an exabyte-sized filesystem on a
> > 4MB box. Even if it has one exabyte-sized file! We check the first
> > tile, see that it points to our file, then iterate through that file,
> > checking that the forward and reverse pointers for each block match
> > and all CRCs match, etc. We cache the file's inode as clean, finish
> > checking anything else in the first tile, then mark it clean. When we get
> > to the next tile (and the next billion after that!), we notice that
> > each block points back to our cached inode and skip rechecking it.
> 
> How would you catch the case where some block in tile 2 claims to belong
> to your just-checked inode but the inode has no reference to it?

You're right, that is a problem. Without the known-clean inode cache,
we would revisit the file in its entirety when checking tile 2, thus
ensuring that both forward and reverse pointers were intact..

> How would you catch the inode referencing the same block twice with just
> 4MB of memory?

..which would also let us catch instances of the above, but would be
very slow for files that span many tiles.

> I believe you need the fpos field in your rmap for both problems.

fpos does allow us to check just a subset of the file efficiently,
yes. And that things are more strictly 1:1, because it unambiguously
matches a single forward pointer in the file. Ok, I'm warming to the
idea.

But indirect blocks don't have an fpos, per se. They'd need a special
encoding. As the fpos entries will all be block aligned, we'll have 12
extra bits to play with, so that may be easy enough.

It's a bit frustrating to have 96-bit (inode+fpos) pointers in one
direction and 32-bit (blockno) pointers in the other though. This
doubles the overhead to .4%. Still not fatal - regular ext2 overhead
is somewhere between 1% and 3% depending on inode usage.

-- 
Mathematics is the supreme nostalgia of our time.
-
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