|
@@ -231,7 +231,6 @@ int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info)
|
|
cur = h + i;
|
|
cur = h + i;
|
|
INIT_LIST_HEAD(&cur->hash_list);
|
|
INIT_LIST_HEAD(&cur->hash_list);
|
|
spin_lock_init(&cur->lock);
|
|
spin_lock_init(&cur->lock);
|
|
- init_waitqueue_head(&cur->wait);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
x = cmpxchg(&info->stripe_hash_table, NULL, table);
|
|
x = cmpxchg(&info->stripe_hash_table, NULL, table);
|
|
@@ -815,15 +814,6 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
|
|
}
|
|
}
|
|
|
|
|
|
goto done_nolock;
|
|
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);
|
|
|
|
- wake_up(&h->wait);
|
|
|
|
- goto done_nolock;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
done:
|
|
done:
|