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.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

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

Reply via email to