diff options
author | Andreas Gruenbacher <agruen@linbit.com> | 2013-05-23 08:57:17 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2014-02-17 10:44:56 -0500 |
commit | 93e4bf7a776e861b63f4fa3e5245487c1e813e56 (patch) | |
tree | 39b1cc40e038a254a847ee5d86c3caebbf5b98bf | |
parent | d8628a86576b278575750180fc5fab652a8224ca (diff) |
drbd: Minor cleanup in conn_new_minor()
Signed-off-by: Andreas Gruenbacher <agruen@linbit.com>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
-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 | |||
2662 | struct drbd_peer_device *peer_device; | 2662 | struct drbd_peer_device *peer_device; |
2663 | struct gendisk *disk; | 2663 | struct gendisk *disk; |
2664 | struct request_queue *q; | 2664 | struct request_queue *q; |
2665 | int vnr_got = vnr; | 2665 | int id; |
2666 | int minor_got = minor; | ||
2667 | enum drbd_ret_code err = ERR_NOMEM; | 2666 | enum drbd_ret_code err = ERR_NOMEM; |
2668 | 2667 | ||
2669 | device = minor_to_device(minor); | 2668 | device = minor_to_device(minor); |
@@ -2735,18 +2734,18 @@ enum drbd_ret_code drbd_create_minor(struct drbd_connection *connection, unsigne | |||
2735 | device->read_requests = RB_ROOT; | 2734 | device->read_requests = RB_ROOT; |
2736 | device->write_requests = RB_ROOT; | 2735 | device->write_requests = RB_ROOT; |
2737 | 2736 | ||
2738 | minor_got = idr_alloc(&drbd_devices, device, minor, minor + 1, GFP_KERNEL); | 2737 | id = idr_alloc(&drbd_devices, device, minor, minor + 1, GFP_KERNEL); |
2739 | if (minor_got < 0) { | 2738 | if (id < 0) { |
2740 | if (minor_got == -ENOSPC) { | 2739 | if (id == -ENOSPC) { |
2741 | err = ERR_MINOR_EXISTS; | 2740 | err = ERR_MINOR_EXISTS; |
2742 | drbd_msg_put_info("requested minor exists already"); | 2741 | drbd_msg_put_info("requested minor exists already"); |
2743 | } | 2742 | } |
2744 | goto out_no_minor_idr; | 2743 | goto out_no_minor_idr; |
2745 | } | 2744 | } |
2746 | 2745 | ||
2747 | vnr_got = idr_alloc(&connection->volumes, device, vnr, vnr + 1, GFP_KERNEL); | 2746 | id = idr_alloc(&connection->volumes, device, vnr, vnr + 1, GFP_KERNEL); |
2748 | if (vnr_got < 0) { | 2747 | if (id < 0) { |
2749 | if (vnr_got == -ENOSPC) { | 2748 | if (id == -ENOSPC) { |
2750 | err = ERR_INVALID_REQUEST; | 2749 | err = ERR_INVALID_REQUEST; |
2751 | drbd_msg_put_info("requested volume exists already"); | 2750 | drbd_msg_put_info("requested volume exists already"); |
2752 | } | 2751 | } |
@@ -2770,9 +2769,9 @@ enum drbd_ret_code drbd_create_minor(struct drbd_connection *connection, unsigne | |||
2770 | return NO_ERROR; | 2769 | return NO_ERROR; |
2771 | 2770 | ||
2772 | out_idr_remove_vol: | 2771 | out_idr_remove_vol: |
2773 | idr_remove(&connection->volumes, vnr_got); | 2772 | idr_remove(&connection->volumes, vnr); |
2774 | out_idr_remove_minor: | 2773 | out_idr_remove_minor: |
2775 | idr_remove(&drbd_devices, minor_got); | 2774 | idr_remove(&drbd_devices, minor); |
2776 | synchronize_rcu(); | 2775 | synchronize_rcu(); |
2777 | out_no_minor_idr: | 2776 | out_no_minor_idr: |
2778 | drbd_bm_cleanup(device); | 2777 | drbd_bm_cleanup(device); |