diff options
author | David Sterba <dsterba@suse.cz> | 2011-05-02 15:29:25 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2011-05-02 15:29:25 +0200 |
commit | 8cc33e5c19bf01c7617608669be8c1b4f663eb2f (patch) | |
tree | 763f0db612327ccaea05a76139fd02ef6047d878 /fs | |
parent | b3b4aa74b58bded927f579fff787fb6fa1c0393c (diff) | |
download | linux-8cc33e5c19bf01c7617608669be8c1b4f663eb2f.tar.bz2 |
btrfs: Document a mutex lock/unlock sequence
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent-tree.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index a160f11465f8..fba1348cb2a0 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -756,6 +756,10 @@ again: 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 @@ again: 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); |