btrfs: Remove redundant bio_get/set from submit_dio_repair_bio
authorNikolay Borisov <nborisov@suse.com>
Wed, 13 Dec 2017 08:25:38 +0000 (10:25 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 22 Jan 2018 15:08:19 +0000 (16:08 +0100)
The bio that is passsed is the newly created repair bio which already
has a reference count of 1, which is going to be consumed by the
endio routine on successful submission. On error the handler also
calls bio_put.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c

index 46df5e2..bacf71c 100644 (file)
@@ -7941,15 +7941,12 @@ static inline blk_status_t submit_dio_repair_bio(struct inode *inode,
 
        BUG_ON(bio_op(bio) == REQ_OP_WRITE);
 
-       bio_get(bio);
-
        ret = btrfs_bio_wq_end_io(fs_info, bio, BTRFS_WQ_ENDIO_DIO_REPAIR);
        if (ret)
-               goto err;
+               return ret;
 
        ret = btrfs_map_bio(fs_info, bio, mirror_num, 0);
-err:
-       bio_put(bio);
+
        return ret;
 }