Loading fs/btrfs/raid56.c +5 −1 Original line number Diff line number Diff line Loading @@ -810,6 +810,10 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio) } goto done_nolock; /* * 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_irqrestore(&h->lock, flags); Loading fs/btrfs/tree-log.c +6 −0 Original line number Diff line number Diff line Loading @@ -2950,6 +2950,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, atomic_set(&log_root_tree->log_commit[index2], 0); 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])) wake_up(&log_root_tree->log_commit_wait[index2]); out: Loading @@ -2961,6 +2964,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, atomic_set(&root->log_commit[index1], 0); mutex_unlock(&root->log_mutex); /* * The barrier before waitqueue_active is implied by mutex_unlock */ if (waitqueue_active(&root->log_commit_wait[index1])) wake_up(&root->log_commit_wait[index1]); return ret; Loading Loading
fs/btrfs/raid56.c +5 −1 Original line number Diff line number Diff line Loading @@ -810,6 +810,10 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio) } goto done_nolock; /* * 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_irqrestore(&h->lock, flags); Loading
fs/btrfs/tree-log.c +6 −0 Original line number Diff line number Diff line Loading @@ -2950,6 +2950,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, atomic_set(&log_root_tree->log_commit[index2], 0); 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])) wake_up(&log_root_tree->log_commit_wait[index2]); out: Loading @@ -2961,6 +2964,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, atomic_set(&root->log_commit[index1], 0); mutex_unlock(&root->log_mutex); /* * The barrier before waitqueue_active is implied by mutex_unlock */ if (waitqueue_active(&root->log_commit_wait[index1])) wake_up(&root->log_commit_wait[index1]); return ret; Loading