Message ID | 161188662355.1943645.4498589995636729261.stgit@magnolia (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xfs: minor cleanups of the quota functions | expand |
On Thu, Jan 28, 2021 at 06:17:03PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > In commit 3b0fe47805802, we reduced the free space requirement to > perform a pre-write unwritten extent conversion on an S_DAX file. Since > we're not actually allocating any space, the logic goes, we only need > enough reservation to handle shape changes in the bmbt. > > The same logic should have been applied to quota -- we're not allocating > any space, so we only need to reserve enough quota to handle the bmbt > shape changes. > > Fixes: 3b0fe4780580 ("xfs: Don't use reserved blocks for data blocks with DAX") > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index de0e371ba4dd..6dfb8d19b540 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -236,7 +236,7 @@ xfs_iomap_write_direct( bmapi_flags = XFS_BMAPI_CONVERT | XFS_BMAPI_ZERO; if (imap->br_state == XFS_EXT_UNWRITTEN) { tflags |= XFS_TRANS_RESERVE; - resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0) << 1; + resblks = qblocks = XFS_DIOSTRAT_SPACE_RES(mp, 0) << 1; } } error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, resblks, resrtextents,