Re: [PATCH/RFC] - make ext3 more robust in the face of filesystem corruption

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

 



Andreas Dilger wrote:
On Oct 19, 2006  17:43 -0500, Eric Sandeen wrote:
Eric Sandeen wrote:
How about just tweaking the existing ext3_bread so that it lets the
caller know whether or not it found an uptodate buffer?  Seems
conceivable that more than just the dir code might want to do a data
sanity check, based on if this is a fresh read or not.

Could maybe even change the *err argument to a *retval; negative on
errors, else 0 == not read (found uptodate), 1 == fresh read (not found
uptodate).  Or is that too much overloading...
I played around with this a little bit today, and it seems to have some
tangible results.  A fairly unsophisticated test of running "find" over
my whole root filesystem 10 times :) with and without re-checking cached
directory entries, yielded about a 10% speedup when skipping the re-checks.

Is this something we want to do?  Are we comfortable with only checking
directory entries the first time they are read from disk?

Well, we already do this on ext2 without noticable problems.  As you say,
if we are getting memory corruption we are in for a world of hurt in other
areas.  The only case that might be worth checking inside the loop is if
rec_len == 0, so that we don't spin on a bad entry forever.

Sounds good, I'll whip up a patch; probably one patch first to add the checks & fix the corruptor tests, and follow up with one to be smarter about the checks in all cases.

Thanks,

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

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux