From: Mark Harmstone Date: Thu, 31 Oct 2024 11:52:05 +0000 (+0000) Subject: btrfs: avoid superfluous calls to free_extent_map() in btrfs_encoded_read() X-Git-Tag: v6.13-rc1~213^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=08fdca9eee098563b55e7a717d2a4256a7375dc8;p=thirdparty%2Flinux.git btrfs: avoid superfluous calls to free_extent_map() in btrfs_encoded_read() Change the control flow of btrfs_encoded_read() so that it doesn't call free_extent_map() when we know that this has already been done. Reviewed-by: Anand Jain Signed-off-by: Mark Harmstone Suggested-by: Anand Jain Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index a2128eccafb32..22b8e2764619f 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -9324,7 +9324,7 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter, ret = btrfs_encoded_read_inline(iocb, iter, start, lockend, cached_state, extent_start, count, encoded, &unlocked); - goto out_em; + goto out_unlock_extent; } /* @@ -9384,7 +9384,7 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter, ret = -EFAULT; } else { ret = -EIOCBQUEUED; - goto out_em; + goto out_unlock_extent; } out_em: