Btrfs: remove unused wait in btrfs_stripe_hash
authorLiu Bo <bo.li.liu@oracle.com>
Fri, 22 Dec 2017 23:23:01 +0000 (16:23 -0700)
committerDavid Sterba <dsterba@suse.com>
Mon, 22 Jan 2018 15:08:19 +0000 (16:08 +0100)
In fact nobody is waiting on @wait's waitqueue, it can be safely
removed.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h
fs/btrfs/raid56.c

index 09b72b6996cea461db7b1278599a08605e3e2da6..1a462ab85c49888a3962b026a74ede8c47182fc1 100644 (file)
@@ -679,7 +679,6 @@ enum btrfs_orphan_cleanup_state {
 /* used by the raid56 code to lock stripes for read/modify/write */
 struct btrfs_stripe_hash {
        struct list_head hash_list;
-       wait_queue_head_t wait;
        spinlock_t lock;
 };
 
index 3940906533a280262c0d7b8739e137711afe477d..9fa45e061953f4b1c06f19c420b01e3e1a390d73 100644 (file)
@@ -231,7 +231,6 @@ int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info)
                cur = h + i;
                INIT_LIST_HEAD(&cur->hash_list);
                spin_lock_init(&cur->lock);
-               init_waitqueue_head(&cur->wait);
        }
 
        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;
-                       /*
-                        * 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: