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

Christoph Hellwig
2006-06-19T18:55:58Z

On Mon, Jun 19, 2006 at 01:20:14PM -0400, Theodore Tso wrote:
> On Mon, Jun 19, 2006 at 09:16:51AM -0700, Joel Becker wrote:
> > On Mon, Jun 19, 2006 at 04:58:21PM +0100, Christoph Hellwig wrote:
> > > 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 don't disagree with you, but the idea of everyone implementing
> > ->getattr where they just let it work before scares me. It's a ton of
> > cut-n-paste error waiting to happen. Especially if we make something
> > stale.
> > Perhaps add generic_fillattr_blksize()?
>
> Well, as far as I know the only filesystems today that would need to
> do something different are xfs, ocfs2, and reiserfs,

And to answer Joel's statment of these three two already implement their
own ->getattr. Also it doesn't mean a filesystem has to completely
reimplement it, they just have to override it by reusing generic_fillattr,
e.g.

static int my_getattr(struct vfsmount *mnt, struct dentry *dentry,
struct kstat *stat)
{
int error = generic_fillattr(dentry->d_inode, stat);
if (!error)
stat->blksize = something_useful;
return error;
}