diff options
author | Christoph Hellwig <hch@lst.de> | 2024-05-02 09:33:54 +0200 |
---|---|---|
committer | Chandan Babu R <chandanbabu@kernel.org> | 2024-05-03 07:50:06 +0200 |
commit | 86de848403abda05bf9c16dcdb6bef65a8d88c41 (patch) | |
tree | 5920cb215a92c4c18e026ce60302a9d02b36a2da /fs/xfs | |
parent | xfs: upgrade the extent counters in xfs_reflink_end_cow_extent later (diff) | |
download | linux-86de848403abda05bf9c16dcdb6bef65a8d88c41.tar.xz linux-86de848403abda05bf9c16dcdb6bef65a8d88c41.zip |
xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extent
Accessing if_bytes without the ilock is racy. Remove the initial
if_bytes == 0 check in xfs_reflink_end_cow_extent and let
ext_iext_lookup_extent fail for this case after we've taken the ilock.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/xfs_reflink.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 93f775c13b66..520f5ef3743c 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -712,12 +712,6 @@ xfs_reflink_end_cow_extent( int nmaps; int error; - /* No COW extents? That's easy! */ - if (ifp->if_bytes == 0) { - *offset_fsb = end_fsb; - return 0; - } - resblks = XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK); error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, resblks, 0, XFS_TRANS_RESERVE, &tp); |