Re: [PATCH 11/22] xfs: refactor special inode roll out of xfs_dir_ialloc

Darrick J. Wong
2019-01-17T20:04:14Z

On Thu, Jan 17, 2019 at 06:24:27AM -0800, Christoph Hellwig wrote:
> > diff --git a/fs/xfs/libxfs/xfs_inode_util.h b/fs/xfs/libxfs/xfs_inode_util.h
> > index 5a1d98d1546d..ee274d74b8d4 100644
> > --- a/fs/xfs/libxfs/xfs_inode_util.h
> > +++ b/fs/xfs/libxfs/xfs_inode_util.h
> > @@ -82,6 +82,12 @@ struct xfs_ialloc_ops {
> >
> > /* Do any final setup needed before we return the inode. */
> > void (*setup)(struct xfs_inode *ip);
> > +
> > + /*
> > + * Roll the transaction between allocating a new ichunk and
> > + * initializing a new inode core.
> > + */
> > + int (*ichunk_roll)(struct xfs_trans **tpp);
>
> Sorry, but this whole idea to add gracious indirect calls is just
> backwards. They do have a non-trivial cost, and we should rather
> get rid of pointless indirect calls instead of adding more.

I built all this indirect call stuff so that mkfs protofile code would
be able to set parameters ... but seeing as Eric said he'll deprecate
all that, I think it's no longer necessary.

--D