diff options
author | Darrick J. Wong <djwong@kernel.org> | 2022-04-26 03:38:12 +0200 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2022-04-28 19:25:08 +0200 |
commit | f1e6a8d72806d2d57560b4873d8aa42c420384ee (patch) | |
tree | 4234008a1bee9b4d18bcc79aa4fdea91d8636698 /fs/xfs/xfs_reflink.c | |
parent | xfs: stop artificially limiting the length of bunmap calls (diff) | |
download | linux-f1e6a8d72806d2d57560b4873d8aa42c420384ee.tar.xz linux-f1e6a8d72806d2d57560b4873d8aa42c420384ee.zip |
xfs: remove a __xfs_bunmapi call from reflink
This raw call isn't necessary since we can always remove a full delalloc
extent.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/xfs_reflink.c')
-rw-r--r-- | fs/xfs/xfs_reflink.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 1ae6d3434ad2..960917628a44 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -1138,7 +1138,7 @@ xfs_reflink_remap_extent( xfs_refcount_decrease_extent(tp, &smap); qdelta -= smap.br_blockcount; } else if (smap.br_startblock == DELAYSTARTBLOCK) { - xfs_filblks_t len = smap.br_blockcount; + int done; /* * If the extent we're unmapping is a delalloc reservation, @@ -1146,10 +1146,11 @@ xfs_reflink_remap_extent( * incore state. Dropping the delalloc reservation takes care * of the quota reservation for us. */ - error = __xfs_bunmapi(NULL, ip, smap.br_startoff, &len, 0, 1); + error = xfs_bunmapi(NULL, ip, smap.br_startoff, + smap.br_blockcount, 0, 1, &done); if (error) goto out_cancel; - ASSERT(len == 0); + ASSERT(done); } /* |