Commit 33a9eca7 authored by David Sterba's avatar David Sterba

btrfs: comment waitqueue_active implied by locks

Suggested-by: default avatarChris Mason <clm@fb.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent b666a9cd
...@@ -810,7 +810,11 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio) ...@@ -810,7 +810,11 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
} }
goto done_nolock; goto done_nolock;
} else if (waitqueue_active(&h->wait)) { /*
* The barrier for this waitqueue_active is not needed,
* we're protected by h->lock and can't miss a wakeup.
*/
} else if (waitqueue_active(&h->wait)) {
spin_unlock(&rbio->bio_list_lock); spin_unlock(&rbio->bio_list_lock);
spin_unlock_irqrestore(&h->lock, flags); spin_unlock_irqrestore(&h->lock, flags);
wake_up(&h->wait); wake_up(&h->wait);
......
...@@ -2950,6 +2950,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, ...@@ -2950,6 +2950,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
atomic_set(&log_root_tree->log_commit[index2], 0); atomic_set(&log_root_tree->log_commit[index2], 0);
mutex_unlock(&log_root_tree->log_mutex); mutex_unlock(&log_root_tree->log_mutex);
/*
* The barrier before waitqueue_active is implied by mutex_unlock
*/
if (waitqueue_active(&log_root_tree->log_commit_wait[index2])) if (waitqueue_active(&log_root_tree->log_commit_wait[index2]))
wake_up(&log_root_tree->log_commit_wait[index2]); wake_up(&log_root_tree->log_commit_wait[index2]);
out: out:
...@@ -2961,6 +2964,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, ...@@ -2961,6 +2964,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
atomic_set(&root->log_commit[index1], 0); atomic_set(&root->log_commit[index1], 0);
mutex_unlock(&root->log_mutex); mutex_unlock(&root->log_mutex);
/*
* The barrier before waitqueue_active is implied by mutex_unlock
*/
if (waitqueue_active(&root->log_commit_wait[index1])) if (waitqueue_active(&root->log_commit_wait[index1]))
wake_up(&root->log_commit_wait[index1]); wake_up(&root->log_commit_wait[index1]);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment