aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorGioh Kim <gi-oh.kim@cloud.ionos.com>2020-10-13 12:30:50 +0200
committerJens Axboe <axboe@kernel.dk>2020-10-13 15:05:05 -0600
commit47be77c2f80412f903134a57caea25fa3fc5f578 (patch)
tree05aecb6004cf91ccf76be2ef3e56aef1b915057c /drivers/block
parentblock/rnbd-clt: do not cap max_hw_sectors & max_segments with remote device (diff)
downloadlinux-dev-47be77c2f80412f903134a57caea25fa3fc5f578.tar.xz
linux-dev-47be77c2f80412f903134a57caea25fa3fc5f578.zip
block/rnbd-clt: send_msg_close if any error occurs after send_msg_open
After send_msg_open is done, send_msg_close should be done if any error occurs and it is necessary to recover what has been done. Signed-off-by: Gioh Kim <gi-oh.kim@cloud.ionos.com> Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/rnbd/rnbd-clt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/rnbd/rnbd-clt.c b/drivers/block/rnbd/rnbd-clt.c
index 519c7d003bf0..8b2411ccbda9 100644
--- a/drivers/block/rnbd/rnbd-clt.c
+++ b/drivers/block/rnbd/rnbd-clt.c
@@ -1509,7 +1509,7 @@ struct rnbd_clt_dev *rnbd_clt_map_device(const char *sessname,
"map_device: Failed to configure device, err: %d\n",
ret);
mutex_unlock(&dev->lock);
- goto del_dev;
+ goto send_close;
}
rnbd_clt_info(dev,
@@ -1528,6 +1528,8 @@ struct rnbd_clt_dev *rnbd_clt_map_device(const char *sessname,
return dev;
+send_close:
+ send_msg_close(dev, dev->device_id, WAIT);
del_dev:
delete_dev(dev);
put_dev: