mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
btrfs: Document a mutex lock/unlock sequence
This commit is contained in:
parent
b3b4aa74b5
commit
8cc33e5c19
1 changed files with 12 additions and 0 deletions
|
@ -756,6 +756,10 @@ int btrfs_lookup_extent_info(struct btrfs_trans_handle *trans,
|
|||
|
||||
btrfs_release_path(path);
|
||||
|
||||
/*
|
||||
* Mutex was contended, block until it's released and try
|
||||
* again
|
||||
*/
|
||||
mutex_lock(&head->mutex);
|
||||
mutex_unlock(&head->mutex);
|
||||
btrfs_put_delayed_ref(&head->node);
|
||||
|
@ -2297,6 +2301,10 @@ int btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
|
|||
atomic_inc(&ref->refs);
|
||||
|
||||
spin_unlock(&delayed_refs->lock);
|
||||
/*
|
||||
* Mutex was contended, block until it's
|
||||
* released and try again
|
||||
*/
|
||||
mutex_lock(&head->mutex);
|
||||
mutex_unlock(&head->mutex);
|
||||
|
||||
|
@ -2363,6 +2371,10 @@ static noinline int check_delayed_ref(struct btrfs_trans_handle *trans,
|
|||
|
||||
btrfs_release_path(path);
|
||||
|
||||
/*
|
||||
* Mutex was contended, block until it's released and let
|
||||
* caller try again
|
||||
*/
|
||||
mutex_lock(&head->mutex);
|
||||
mutex_unlock(&head->mutex);
|
||||
btrfs_put_delayed_ref(&head->node);
|
||||
|
|
Loading…
Reference in a new issue