diff options
author | Andreas Gruenbacher <agruen@linbit.com> | 2013-05-23 14:57:17 +0200 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2014-02-17 16:44:56 +0100 |
commit | 93e4bf7a776e861b63f4fa3e5245487c1e813e56 (patch) | |
tree | 39b1cc40e038a254a847ee5d86c3caebbf5b98bf /drivers/block | |
parent | d8628a86576b278575750180fc5fab652a8224ca (diff) | |
download | linux-93e4bf7a776e861b63f4fa3e5245487c1e813e56.tar.bz2 |
drbd: Minor cleanup in conn_new_minor()
Signed-off-by: Andreas Gruenbacher <agruen@linbit.com>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/drbd/drbd_main.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index bf559adc21be..7d06d2154fa3 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -2662,8 +2662,7 @@ enum drbd_ret_code drbd_create_minor(struct drbd_connection *connection, unsigne struct drbd_peer_device *peer_device; struct gendisk *disk; struct request_queue *q; - int vnr_got = vnr; - int minor_got = minor; + int id; enum drbd_ret_code err = ERR_NOMEM; device = minor_to_device(minor); @@ -2735,18 +2734,18 @@ enum drbd_ret_code drbd_create_minor(struct drbd_connection *connection, unsigne device->read_requests = RB_ROOT; device->write_requests = RB_ROOT; - minor_got = idr_alloc(&drbd_devices, device, minor, minor + 1, GFP_KERNEL); - if (minor_got < 0) { - if (minor_got == -ENOSPC) { + id = idr_alloc(&drbd_devices, device, minor, minor + 1, GFP_KERNEL); + if (id < 0) { + if (id == -ENOSPC) { err = ERR_MINOR_EXISTS; drbd_msg_put_info("requested minor exists already"); } goto out_no_minor_idr; } - vnr_got = idr_alloc(&connection->volumes, device, vnr, vnr + 1, GFP_KERNEL); - if (vnr_got < 0) { - if (vnr_got == -ENOSPC) { + id = idr_alloc(&connection->volumes, device, vnr, vnr + 1, GFP_KERNEL); + if (id < 0) { + if (id == -ENOSPC) { err = ERR_INVALID_REQUEST; drbd_msg_put_info("requested volume exists already"); } @@ -2770,9 +2769,9 @@ enum drbd_ret_code drbd_create_minor(struct drbd_connection *connection, unsigne return NO_ERROR; out_idr_remove_vol: - idr_remove(&connection->volumes, vnr_got); + idr_remove(&connection->volumes, vnr); out_idr_remove_minor: - idr_remove(&drbd_devices, minor_got); + idr_remove(&drbd_devices, minor); synchronize_rcu(); out_no_minor_idr: drbd_bm_cleanup(device); |