Re: [RFC] Slimming down struct inode

Nikita Danilov
2006-06-14T10:34:27Z

Nathan Scott writes:
> On Tue, Jun 13, 2006 at 05:00:59PM +0300, Avi Kivity wrote:
> > Nathan Scott wrote:
> > > Such a change would would indeed break XFS, in exactly the way you
>
> Oh, I should clarify - the suggestion of using sb->s_blocksize/
> s_blocksize_bits was what I meant by "would break XFS".
>
> > > suggest Jan - the realtime subvolume does typically use a different
> > > blocksize from the data subvolume (the realtime extent size is used,
> > > and this can be set per-inode too), and there would now be no way to
> > > distinguish this preferred IO size difference.
> >
> > It can be made into an inode operation:
>
> *nod* - that'd work fine for our needs here.

Sorry, but why this operation is needed? Generic code (in fs/*.c)
doesn't use ->i_blksize at all. If XFS wants to provide per-inode
st_blksize, all it has to do is to store preferred buffer size in its
file system specific inode (struct xfs_inode), and use something
different from generic_fillattr() as its ->i_op->getattr() callback
(xfs_vn_getattr()).

>
> cheers.
>
> --
> Nathan

Nikita.