]> xenbits.xensource.com Git - people/pauldu/linux.git/commitdiff
btrfs: reduce parameters of btrfs_pin_extent_for_log_replay
authorDavid Sterba <dsterba@suse.com>
Thu, 7 Sep 2023 23:09:31 +0000 (01:09 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 12 Oct 2023 14:44:04 +0000 (16:44 +0200)
Both callers of btrfs_pin_extent_for_log_replay expand the parameters to
extent buffer members. We can simply pass the extent buffer instead.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c
fs/btrfs/extent-tree.h
fs/btrfs/tree-log.c

index 8674dcb52c44b4efb8dee5265fefcbbaec28b7ff..4e7a929ba1c63cfd9dbab4a4df94ace1e1bea3ee 100644 (file)
@@ -2569,12 +2569,12 @@ int btrfs_pin_extent(struct btrfs_trans_handle *trans,
  * this function must be called within transaction
  */
 int btrfs_pin_extent_for_log_replay(struct btrfs_trans_handle *trans,
-                                   u64 bytenr, u64 num_bytes)
+                                   const struct extent_buffer *eb)
 {
        struct btrfs_block_group *cache;
        int ret;
 
-       cache = btrfs_lookup_block_group(trans->fs_info, bytenr);
+       cache = btrfs_lookup_block_group(trans->fs_info, eb->start);
        if (!cache)
                return -EINVAL;
 
@@ -2586,10 +2586,10 @@ int btrfs_pin_extent_for_log_replay(struct btrfs_trans_handle *trans,
        if (ret)
                goto out;
 
-       pin_down_extent(trans, cache, bytenr, num_bytes, 0);
+       pin_down_extent(trans, cache, eb->start, eb->len, 0);
 
        /* remove us from the free space cache (if we're there at all) */
-       ret = btrfs_remove_free_space(cache, bytenr, num_bytes);
+       ret = btrfs_remove_free_space(cache, eb->start, eb->len);
 out:
        btrfs_put_block_group(cache);
        return ret;
index c56f616dcd1b451a1c39246691d0d33d5dc7c594..dd31ee85f36095bdf8994f139d6826e8f8eeab16 100644 (file)
@@ -103,7 +103,7 @@ int btrfs_lookup_extent_info(struct btrfs_trans_handle *trans,
 int btrfs_pin_extent(struct btrfs_trans_handle *trans, u64 bytenr, u64 num,
                     int reserved);
 int btrfs_pin_extent_for_log_replay(struct btrfs_trans_handle *trans,
-                                   u64 bytenr, u64 num_bytes);
+                                   const struct extent_buffer *eb);
 int btrfs_exclude_logged_extents(struct extent_buffer *eb);
 int btrfs_cross_ref_exist(struct btrfs_root *root,
                          u64 objectid, u64 offset, u64 bytenr, bool strict,
index 4f85c435b7938342ce8944d0354cf1346c8f6c93..15c8cb6627fe7ec3f3368e2468ad3864e0d12d80 100644 (file)
@@ -347,8 +347,7 @@ static int process_one_buffer(struct btrfs_root *log,
        }
 
        if (wc->pin) {
-               ret = btrfs_pin_extent_for_log_replay(wc->trans, eb->start,
-                                                     eb->len);
+               ret = btrfs_pin_extent_for_log_replay(wc->trans, eb);
                if (ret)
                        return ret;
 
@@ -7203,9 +7202,7 @@ again:
                         * each subsequent pass.
                         */
                        if (ret == -ENOENT)
-                               ret = btrfs_pin_extent_for_log_replay(trans,
-                                                       log->node->start,
-                                                       log->node->len);
+                               ret = btrfs_pin_extent_for_log_replay(trans, log->node);
                        btrfs_put_root(log);
 
                        if (!ret)