btrfs: remove pointless local variable in lock_stripe_add()
authorJohannes Thumshirn <jthumshirn@suse.de>
Fri, 18 Oct 2019 09:58:21 +0000 (11:58 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 18 Nov 2019 11:47:00 +0000 (12:47 +0100)
In lock_stripe_add() we're caching the bucket for the stripe hash table
just for a single call to dereference the stripe hash.

If we just directly call rbio_bucket() we can safe the pointless local
variable.

Also move the dereferencing of the stripe hash outside of the variable
declaration block to not break over the 80 characters limit.

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/raid56.c

index d3fc55f8846e11c2b5d1e2ad6071a12a1ac150ab..a8e53c8e7b017e7398f9741872fb1cffc977fa9b 100644 (file)
@@ -671,8 +671,7 @@ static struct page *rbio_qstripe_page(struct btrfs_raid_bio *rbio, int index)
  */
 static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio)
 {
-       int bucket = rbio_bucket(rbio);
-       struct btrfs_stripe_hash *h = rbio->fs_info->stripe_hash_table->table + bucket;
+       struct btrfs_stripe_hash *h;
        struct btrfs_raid_bio *cur;
        struct btrfs_raid_bio *pending;
        unsigned long flags;
@@ -680,6 +679,8 @@ static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio)
        struct btrfs_raid_bio *cache_drop = NULL;
        int ret = 0;
 
+       h = rbio->fs_info->stripe_hash_table->table + rbio_bucket(rbio);
+
        spin_lock_irqsave(&h->lock, flags);
        list_for_each_entry(cur, &h->hash_list, hash_list) {
                if (cur->bbio->raid_map[0] != rbio->bbio->raid_map[0])