Skip to content

Commit 58a4391

Browse files
fdmananakdave
authored andcommitted
btrfs: move delayed ref head unselection to delayed-ref.c
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>
1 parent a98048e commit 58a4391

3 files changed

Lines changed: 15 additions & 13 deletions

File tree

fs/btrfs/delayed-ref.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,16 @@ struct btrfs_delayed_ref_head *btrfs_select_ref_head(
612612
return head;
613613
}
614614

615+
void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
616+
struct btrfs_delayed_ref_head *head)
617+
{
618+
spin_lock(&delayed_refs->lock);
619+
head->processing = false;
620+
delayed_refs->num_heads_ready++;
621+
spin_unlock(&delayed_refs->lock);
622+
btrfs_delayed_ref_unlock(head);
623+
}
624+
615625
void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
616626
struct btrfs_delayed_ref_head *head)
617627
{

fs/btrfs/delayed-ref.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,8 @@ void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
378378

379379
struct btrfs_delayed_ref_head *btrfs_select_ref_head(
380380
struct btrfs_delayed_ref_root *delayed_refs);
381+
void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
382+
struct btrfs_delayed_ref_head *head);
381383

382384
int btrfs_check_delayed_seq(struct btrfs_fs_info *fs_info, u64 seq);
383385

fs/btrfs/extent-tree.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1827,16 +1827,6 @@ select_delayed_ref(struct btrfs_delayed_ref_head *head)
18271827
return ref;
18281828
}
18291829

1830-
static void unselect_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
1831-
struct btrfs_delayed_ref_head *head)
1832-
{
1833-
spin_lock(&delayed_refs->lock);
1834-
head->processing = false;
1835-
delayed_refs->num_heads_ready++;
1836-
spin_unlock(&delayed_refs->lock);
1837-
btrfs_delayed_ref_unlock(head);
1838-
}
1839-
18401830
static struct btrfs_delayed_extent_op *cleanup_extent_op(
18411831
struct btrfs_delayed_ref_head *head)
18421832
{
@@ -1911,7 +1901,7 @@ static int cleanup_ref_head(struct btrfs_trans_handle *trans,
19111901

19121902
ret = run_and_cleanup_extent_op(trans, head);
19131903
if (ret < 0) {
1914-
unselect_delayed_ref_head(delayed_refs, head);
1904+
btrfs_unselect_ref_head(delayed_refs, head);
19151905
btrfs_debug(fs_info, "run_delayed_extent_op returned %d", ret);
19161906
return ret;
19171907
} else if (ret) {
@@ -1973,7 +1963,7 @@ static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
19731963
if (ref->seq &&
19741964
btrfs_check_delayed_seq(fs_info, ref->seq)) {
19751965
spin_unlock(&locked_ref->lock);
1976-
unselect_delayed_ref_head(delayed_refs, locked_ref);
1966+
btrfs_unselect_ref_head(delayed_refs, locked_ref);
19771967
return -EAGAIN;
19781968
}
19791969

@@ -2021,7 +2011,7 @@ static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
20212011

20222012
btrfs_free_delayed_extent_op(extent_op);
20232013
if (ret) {
2024-
unselect_delayed_ref_head(delayed_refs, locked_ref);
2014+
btrfs_unselect_ref_head(delayed_refs, locked_ref);
20252015
btrfs_put_delayed_ref(ref);
20262016
return ret;
20272017
}

0 commit comments

Comments
 (0)