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@xxxxxxxxxxxxx
|