On Wed, Apr 18, 2018 at 09:31:19AM -0400, Brian Foster wrote: > Directory operations can perform block allocations as entries are > added/removed from directories. Defer AGFL block frees from the > remaining directory operation transactions. This covers the hard > link, remove and rename operations. > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> > --- > fs/xfs/xfs_inode.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index 484ebef36fe4..47aa124e4744 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -1452,6 +1452,7 @@ xfs_link( > } > > xfs_defer_init(&dfops, &first_block); > + tp->t_agfl_dfops = &dfops; > > /* > * Handle initial link state of O_TMPFILE inode > @@ -2649,6 +2650,7 @@ xfs_remove( > goto out_trans_cancel; > > xfs_defer_init(&dfops, &first_block); > + tp->t_agfl_dfops = &dfops; > error = xfs_dir_removename(tp, dp, name, ip->i_ino, > &first_block, &dfops, resblks); > if (error) { > @@ -3016,6 +3018,7 @@ xfs_rename( > } > > xfs_defer_init(&dfops, &first_block); > + tp->t_agfl_dfops = &dfops; Hmm, do you have a reproducer xfstest for any of the last three patches? Codewise, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > > /* RENAME_EXCHANGE is unique from here on. */ > if (flags & RENAME_EXCHANGE) > -- > 2.13.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html