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

Christoph Hellwig
2019-01-17T14:24:28Z

> 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.