Re: [RFC] [PATCH 5/8] inode-diet: Eliminate i_blksize and use a per-superblock default

Theodore Tso
2006-06-19T17:03:38Z

On Mon, Jun 19, 2006 at 04:58:21PM +0100, Christoph Hellwig wrote:
> On Mon, Jun 19, 2006 at 11:20:08AM -0400, Theodore Tso wrote:
> > This eliminates the i_blksize field from struct inode and uses default
> > value in super->s_blksize. 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.
> >
> > Note that some filesystems were providing pretty much random (and
> > incorrect) values for i_blksize.
>
> Blease don't add a field to the superblock for the optimal I/O size.
> Any filesystem that wants to override it can do so directly in ->getattr.

I was mainly adding a field to the superblock for the sake of
reiserfs; it was the easiest way to support it's current insanity of
reporting 128megs as st_blksize, but with a mount option that affected
things on a global scale. (Hey, at least my patch made resierfs
support the mount option as a per-superblock setting, instead of
setting a global variable that changed the behaviour for all mounts.)

I don't mind espceially removing the superblock field, but if we do, I
refuse to mess with adding a getattr special for reiserfs; someone who
wants to support its current behaviour is free to send me or LKML
patches....

- Ted