btrfs: Document a mutex lock/unlock sequence
authorDavid Sterba <dsterba@suse.cz>
Mon, 2 May 2011 13:29:25 +0000 (15:29 +0200)
committerDavid Sterba <dsterba@suse.cz>
Mon, 2 May 2011 13:29:25 +0000 (15:29 +0200)
fs/btrfs/extent-tree.c

index a160f11..fba1348 100644 (file)
@@ -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);