Skip to content

Commit 5f54384

Browse files
fdmananakdave
authored andcommitted
btrfs: pass fs_info to btrfs_delete_ref_head()
One of the following patches in the series will need to access fs_info at btrfs_delete_ref_head(), so pass a fs_info argument to it. 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 765f828 commit 5f54384

3 files changed

Lines changed: 10 additions & 7 deletions

File tree

fs/btrfs/delayed-ref.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,8 @@ void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
624624
btrfs_delayed_ref_unlock(head);
625625
}
626626

627-
void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
627+
void btrfs_delete_ref_head(const struct btrfs_fs_info *fs_info,
628+
struct btrfs_delayed_ref_root *delayed_refs,
628629
struct btrfs_delayed_ref_head *head)
629630
{
630631
lockdep_assert_held(&delayed_refs->lock);
@@ -1294,7 +1295,7 @@ void btrfs_destroy_delayed_refs(struct btrfs_transaction *trans)
12941295
if (head->must_insert_reserved)
12951296
pin_bytes = true;
12961297
btrfs_free_delayed_extent_op(head->extent_op);
1297-
btrfs_delete_ref_head(delayed_refs, head);
1298+
btrfs_delete_ref_head(fs_info, delayed_refs, head);
12981299
spin_unlock(&head->lock);
12991300
spin_unlock(&delayed_refs->lock);
13001301
mutex_unlock(&head->mutex);

fs/btrfs/delayed-ref.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,8 @@ static inline void btrfs_delayed_ref_unlock(struct btrfs_delayed_ref_head *head)
374374
{
375375
mutex_unlock(&head->mutex);
376376
}
377-
void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
377+
void btrfs_delete_ref_head(const struct btrfs_fs_info *fs_info,
378+
struct btrfs_delayed_ref_root *delayed_refs,
378379
struct btrfs_delayed_ref_head *head);
379380

380381
struct btrfs_delayed_ref_head *btrfs_select_ref_head(

fs/btrfs/extent-tree.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1920,7 +1920,7 @@ static int cleanup_ref_head(struct btrfs_trans_handle *trans,
19201920
spin_unlock(&delayed_refs->lock);
19211921
return 1;
19221922
}
1923-
btrfs_delete_ref_head(delayed_refs, head);
1923+
btrfs_delete_ref_head(fs_info, delayed_refs, head);
19241924
spin_unlock(&head->lock);
19251925
spin_unlock(&delayed_refs->lock);
19261926

@@ -3353,13 +3353,14 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans,
33533353
static noinline int check_ref_cleanup(struct btrfs_trans_handle *trans,
33543354
u64 bytenr)
33553355
{
3356+
struct btrfs_fs_info *fs_info = trans->fs_info;
33563357
struct btrfs_delayed_ref_head *head;
33573358
struct btrfs_delayed_ref_root *delayed_refs;
33583359
int ret = 0;
33593360

33603361
delayed_refs = &trans->transaction->delayed_refs;
33613362
spin_lock(&delayed_refs->lock);
3362-
head = btrfs_find_delayed_ref_head(trans->fs_info, delayed_refs, bytenr);
3363+
head = btrfs_find_delayed_ref_head(fs_info, delayed_refs, bytenr);
33633364
if (!head)
33643365
goto out_delayed_unlock;
33653366

@@ -3377,7 +3378,7 @@ static noinline int check_ref_cleanup(struct btrfs_trans_handle *trans,
33773378
if (!mutex_trylock(&head->mutex))
33783379
goto out;
33793380

3380-
btrfs_delete_ref_head(delayed_refs, head);
3381+
btrfs_delete_ref_head(fs_info, delayed_refs, head);
33813382
head->processing = false;
33823383

33833384
spin_unlock(&head->lock);
@@ -3387,7 +3388,7 @@ static noinline int check_ref_cleanup(struct btrfs_trans_handle *trans,
33873388
if (head->must_insert_reserved)
33883389
ret = 1;
33893390

3390-
btrfs_cleanup_ref_head_accounting(trans->fs_info, delayed_refs, head);
3391+
btrfs_cleanup_ref_head_accounting(fs_info, delayed_refs, head);
33913392
mutex_unlock(&head->mutex);
33923393
btrfs_put_delayed_ref_head(head);
33933394
return ret;

0 commit comments

Comments
 (0)