bcache: do not assign in if condition in bcache_device_init()
authorFlorian Schmaus <flo@geekplace.eu>
Thu, 26 Jul 2018 04:17:40 +0000 (12:17 +0800)
committerJens Axboe <axboe@kernel.dk>
Fri, 27 Jul 2018 15:15:46 +0000 (09:15 -0600)
Fixes an error condition reported by checkpatch.pl which is caused by
assigning a variable in an if condition.

Signed-off-by: Florian Schmaus <flo@geekplace.eu>
Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/super.c

index a852018964adbe5e0e51e11669961e9f153b69bc..40fe26fef00feea6b82d20284b829479676ab533 100644 (file)
@@ -796,11 +796,12 @@ static int bcache_device_init(struct bcache_device *d, unsigned block_size,
                return idx;
 
        if (bioset_init(&d->bio_split, 4, offsetof(struct bbio, bio),
-                       BIOSET_NEED_BVECS|BIOSET_NEED_RESCUER) ||
-           !(d->disk = alloc_disk(BCACHE_MINORS))) {
-               ida_simple_remove(&bcache_device_idx, idx);
-               return -ENOMEM;
-       }
+                       BIOSET_NEED_BVECS|BIOSET_NEED_RESCUER))
+               goto err;
+
+       d->disk = alloc_disk(BCACHE_MINORS);
+       if (!d->disk)
+               goto err;
 
        set_capacity(d->disk, sectors);
        snprintf(d->disk->disk_name, DISK_NAME_LEN, "bcache%i", idx);
@@ -834,6 +835,11 @@ static int bcache_device_init(struct bcache_device *d, unsigned block_size,
        blk_queue_write_cache(q, true, true);
 
        return 0;
+
+err:
+       ida_simple_remove(&bcache_device_idx, idx);
+       return -ENOMEM;
+
 }
 
 /* Cached device */