Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Nikita Danilov
Date: Tuesday, April 24, 2007 - 12:34 pm

David Lang writes:
 > On Tue, 24 Apr 2007, Nikita Danilov wrote:
 > 
 > > Amit Gud writes:
 > >
 > > Hello,
 > >
 > > >
 > > > This is an initial implementation of ChunkFS technique, briefly discussed
 > > > at: http://lwn.net/Articles/190222 and
 > > > http://cis.ksu.edu/~gud/docs/chunkfs-hotdep-val-arjan-gud-zach.pdf
 > >
 > > I have a couple of questions about chunkfs repair process.
 > >
 > > First, as I understand it, each continuation inode is a sparse file,
 > > mapping some subset of logical file blocks into block numbers. Then it
 > > seems, that during "final phase" fsck has to check that these partial
 > > mappings are consistent, for example, that no two different continuation
 > > inodes for a given file contain a block number for the same offset. This
 > > check requires scan of all chunks (rather than of only "active during
 > > crash"), which seems to return us back to the scalability problem
 > > chunkfs tries to address.
 > 
 > not quite.
 > 
 > this checking is a O(n^2) or worse problem, and it can eat a lot of memory in 
 > the process. with chunkfs you divide the problem by a large constant (100 or 
 > more) for the checks of individual chunks. after those are done then the final 
 > pass checking the cross-chunk links doesn't have to keep track of everything, it 
 > only needs to check those links and what they point to

Maybe I failed to describe the problem presicely.

Suppose that all chunks have been checked. After that, for every inode
I0 having continuations I1, I2, ... In, one has to check that every
logical block is presented in at most one of these inodes. For this one
has to read I0, with all its indirect (double-indirect, triple-indirect)
blocks, then read I1 with all its indirect blocks, etc. And to repeat
this for every inode with continuations.

In the worst case (every inode has a continuation in every chunk) this
obviously is as bad as un-chunked fsck. But even in the average case,
total amount of io necessary for this operation is proportional to the
_total_ file system size, rather than to the chunk size.

 > 
 > any ability to mark a filesystem as 'clean' and then not have to check it on 
 > reboot is a bonus on top of this.
 > 
 > David Lang

Nikita.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH] ChunkFS: fs fission for faster fsck, Amit Gud, (Mon Apr 23, 4:21 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Suparna Bhattacharya, (Mon Apr 23, 9:28 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Suparna Bhattacharya, (Mon Apr 23, 9:32 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Nikita Danilov, (Tue Apr 24, 4:44 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, David Lang, (Tue Apr 24, 11:27 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, David Lang, (Tue Apr 24, 12:26 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Nikita Danilov, (Tue Apr 24, 12:34 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, David Chinner, (Wed Apr 25, 3:54 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Nikita Danilov, (Wed Apr 25, 4:34 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Andreas Dilger, (Wed Apr 25, 4:38 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, David Lang, (Wed Apr 25, 9:39 am)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Wed Apr 25, 3:43 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Wed Apr 25, 3:47 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Wed Apr 25, 4:03 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Wed Apr 25, 4:06 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, David Chinner, (Wed Apr 25, 5:47 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Thu Apr 26, 9:58 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Thu Apr 26, 10:07 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Fri Apr 27, 11:50 pm)
Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck, Valerie Henson, (Tue May 1, 10:26 am)