]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: avoid superfluous calls to free_extent_map() in btrfs_encoded_read()
authorMark Harmstone <maharmstone@fb.com>
Thu, 31 Oct 2024 11:52:05 +0000 (11:52 +0000)
committerDavid Sterba <dsterba@suse.com>
Mon, 11 Nov 2024 13:34:22 +0000 (14:34 +0100)
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 <anand.jain@oracle.com>
Signed-off-by: Mark Harmstone <maharmstone@fb.com>
Suggested-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c

index a2128eccafb321e05c42f919e5ce0f728473dd5a..22b8e2764619fb14aa7c58c83f0c2bba2ca4fc98 100644 (file)
@@ -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: