On Mon, Dec 31, 2018 at 06:19:38PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Move the kernel-specific parts of xfs_ialloc into a separate function in > preparation for hoisting xfs_ialloc to libxfs. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > fs/xfs/xfs_inode.c | 45 ++++++++++++++++++++++++++++++++++++--------- > 1 file changed, 36 insertions(+), 9 deletions(-) > > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index 403eb8fa2f1f..b635d43caeed 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -621,6 +621,32 @@ xfs_lookup( > return error; > } > > +/* Return an exclusive ILOCK'd in-core inode. */ > +static int > +xfs_ialloc_iget( > + struct xfs_mount *mp, > + struct xfs_trans *tp, > + xfs_ino_t ino, > + struct xfs_inode **ipp) > +{ > + return xfs_iget(mp, tp, ino, XFS_IGET_CREATE, XFS_ILOCK_EXCL, ipp); > +} This is just too ugly and pointless. Can you explain (or even better show code) why we really need this for xfsprogs? > + xfs_ialloc_platform_init(tp, args, ip); And that platform naming also is rather horrible.