On Thu, Jan 25, 2018 at 06:04:54PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Move all the inode and quota accounting updates out of xfs_bmap_btalloc > in preparation for fixing some quota accounting problems with copy on > write. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > fs/xfs/libxfs/xfs_bmap.c | 34 +++++++++++++++++++++------------- > 1 file changed, 21 insertions(+), 13 deletions(-) > > > diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c > index 0c9c9cd..6ad79ea 100644 > --- a/fs/xfs/libxfs/xfs_bmap.c > +++ b/fs/xfs/libxfs/xfs_bmap.c > @@ -3337,6 +3337,26 @@ xfs_bmap_btalloc_filestreams( > return 0; > } > > +/* Update all inode and quota accounting for the allocation we just did. */ > +static void > +xfs_bmap_btalloc_accounting( > + struct xfs_bmalloca *ap, > + struct xfs_alloc_arg *args) > +{ > + if (!(ap->flags & XFS_BMAPI_COWFORK)) > + ap->ip->i_d.di_nblocks += args->len; > + xfs_trans_log_inode(ap->tp, ap->ip, XFS_ILOG_CORE); > + if (ap->wasdel) > + ap->ip->i_delayed_blks -= args->len; > + /* > + * Adjust the disk quota also. This was reserved > + * earlier. Please use the full line length. Or in fact just remove the comment as it seems rather confusing given that we can deal with reservations or not depending on the wasdel status. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx> -- 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