Theodore Tso wrote:
On Mon, Nov 06, 2006 at 05:15:27PM -0600, Eric Sandeen wrote:
Christoph Hellwig wrote:
On Mon, Nov 06, 2006 at 03:50:02PM -0600, Eric Sandeen wrote:
so I would propose the following patch to make PAGE_CACHE_SIZE the default (again),
and let filesystems which need something -else- do that on their own.
I agree with the conclusion, but the patch is incomplete. You went down
all the way to find out what the fileystems do in this messages, so add
the hunks to override the defaults for non-standard filesystems to the
patch aswell to restore the pre-inode diet state.
Well, agreed. I put 80% or more back to pre-patch state, but not all.
:) So it's less broken with my patch than without, so at least it's
moving forward. So... Ted's patches get in w/o fixing up all the other
filesystems (left as an exercise to the patch reader) but mine can't? :)
Note that *I* wasn't the one who changed it from PAGE_CACHE_SIZE to (1
<< inode->i_blkbits). This was done by Andrew. (See below, from an
e-mail dated September 19th).
Given that Steve French was cc'ed, I assume this was done as a hack to
fix CIFS, but it was a bad idea; I agree that PAGE_CACHE_SIZE is a way
better default than (1 << inode->i_blkbits).
As far as fixing all of the other filesystems, I did *try*; I know I
screwed up with XFS, but that's because I still think the code is a
screaming horror of indirections that make it impossible to understand
what the heck is going on, and I guess I screwed up with CIFS. Some
of the changes away from "pre inode diet" state were deliberate,
though, since some filesystems had very clearly broken "optimal I/O
sizes" of 512, and one even had something incredibly bogus that was
something like 96 bytes (!) if I remember correctly.
In that case can we just go with my original third-round patch to put it back to
PAGE_SIZE, and let the other filesystems tidy up if necessary. This -is- just
supposed to be a hint...
Sorry Ted, "broken" was too strong a word... I just read:
"Filesystems that want
to provide a per-inode st_blksize can do so by providing their own getattr
routine instead of using the generic_fillattr() function."
in the patch, and figured that you were leaving it up to the filesystems to
re-evaluate whether they needed something other than a page size. Which I'd be
happy to do, too. :)
-Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]