[PATCH 2/4] xfs: set up inode operation vectors later

Dave Chinner david at fromorbit.com
Wed Mar 23 18:45:54 CDT 2016


On Thu, Mar 24, 2016 at 12:26:30AM +0100, Christoph Hellwig wrote:
> On Thu, Mar 24, 2016 at 10:05:00AM +1100, Dave Chinner wrote:
> > >  	d_instantiate(dentry, inode);
> > >  	xfs_finish_inode_setup(cip);
> > 
> > I think there are more places than this that need xfs_setup_iops()
> > calls - a quick look around makes me think they need to be paired
> > with every path that calls xfs_finish_inode_setup().
> 
> Most calls to xfs_finish_inode_setup are for error cases that
> just drop the inode instantly and don't need it.

Fair enough.

> The other
> cases are:
> 
>  - xfs_generic_create, xfs_vn_symlink and xfs_setup_existing_inode,
>    which are handled in this patch
>  - xfs_qm_qino_alloc, which is for the quota inode that doesn't have
>    inode operations

*nod*

>  - xfs_rename_alloc_whiteout which probably needs it.  This seems
>    to be recent and has no apparent test coverage, so I'm not sure
>    how to verify it, though.

Yup, that's the one I first noticed. generic/078 tests
RENAME_WHITEOUT functionality through renameat2() and it includes
operations on symlinks, so there is some coverage in xfstests for
it.

Cheers,

Dave.
-- 
Dave Chinner
david at fromorbit.com



More information about the xfs mailing list