]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: move delayed ref head unselection to delayed-ref.c
authorFilipe Manana <fdmanana@suse.com>
Mon, 21 Oct 2024 11:52:55 +0000 (12:52 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 11 Nov 2024 13:34:20 +0000 (14:34 +0100)
The unselect_delayed_ref_head() at extent-tree.c doesn't really belong in
that file as it's a delayed refs specific detail and therefore should be
at delayed-ref.c. Further its inverse, btrfs_select_ref_head(), is at
delayed-ref.c, so it only makes sense to have it there too.

So move unselect_delayed_ref_head() into delayed-ref.c and rename it to
btrfs_unselect_ref_head() so that its name closely matches its inverse
(btrfs_select_ref_head()).

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/delayed-ref.c
fs/btrfs/delayed-ref.h
fs/btrfs/extent-tree.c

index fdecdd02db946c93603f0b1d321e134b6ec55767..9131dc53b0a161c9c89c4a52db8afb3a2441556a 100644 (file)
@@ -612,6 +612,16 @@ again:
        return head;
 }
 
+void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
+                            struct btrfs_delayed_ref_head *head)
+{
+       spin_lock(&delayed_refs->lock);
+       head->processing = false;
+       delayed_refs->num_heads_ready++;
+       spin_unlock(&delayed_refs->lock);
+       btrfs_delayed_ref_unlock(head);
+}
+
 void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
                           struct btrfs_delayed_ref_head *head)
 {
index 956fbe5d69849e06dfc516d2ef99a42ea699275b..d70de7ee63e5f3965364432db0a0df17e1f53931 100644 (file)
@@ -378,6 +378,8 @@ void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
 
 struct btrfs_delayed_ref_head *btrfs_select_ref_head(
                struct btrfs_delayed_ref_root *delayed_refs);
+void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
+                            struct btrfs_delayed_ref_head *head);
 
 int btrfs_check_delayed_seq(struct btrfs_fs_info *fs_info, u64 seq);
 
index 887706e87524aa31dd9ab5c2c31490d9b8c79a43..7a9edbd2e83d1d63ce99e08ee131e70179858788 100644 (file)
@@ -1827,16 +1827,6 @@ select_delayed_ref(struct btrfs_delayed_ref_head *head)
        return ref;
 }
 
-static void unselect_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
-                                     struct btrfs_delayed_ref_head *head)
-{
-       spin_lock(&delayed_refs->lock);
-       head->processing = false;
-       delayed_refs->num_heads_ready++;
-       spin_unlock(&delayed_refs->lock);
-       btrfs_delayed_ref_unlock(head);
-}
-
 static struct btrfs_delayed_extent_op *cleanup_extent_op(
                                struct btrfs_delayed_ref_head *head)
 {
@@ -1911,7 +1901,7 @@ static int cleanup_ref_head(struct btrfs_trans_handle *trans,
 
        ret = run_and_cleanup_extent_op(trans, head);
        if (ret < 0) {
-               unselect_delayed_ref_head(delayed_refs, head);
+               btrfs_unselect_ref_head(delayed_refs, head);
                btrfs_debug(fs_info, "run_delayed_extent_op returned %d", ret);
                return ret;
        } else if (ret) {
@@ -1973,7 +1963,7 @@ static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
                if (ref->seq &&
                    btrfs_check_delayed_seq(fs_info, ref->seq)) {
                        spin_unlock(&locked_ref->lock);
-                       unselect_delayed_ref_head(delayed_refs, locked_ref);
+                       btrfs_unselect_ref_head(delayed_refs, locked_ref);
                        return -EAGAIN;
                }
 
@@ -2021,7 +2011,7 @@ static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
 
                btrfs_free_delayed_extent_op(extent_op);
                if (ret) {
-                       unselect_delayed_ref_head(delayed_refs, locked_ref);
+                       btrfs_unselect_ref_head(delayed_refs, locked_ref);
                        btrfs_put_delayed_ref(ref);
                        return ret;
                }