OSDN Git Service

block/rnbd-clt: send_msg_close if any error occurs after send_msg_open
authorGioh Kim <gi-oh.kim@cloud.ionos.com>
Tue, 13 Oct 2020 10:30:50 +0000 (12:30 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 13 Oct 2020 21:05:05 +0000 (15:05 -0600)
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>
drivers/block/rnbd/rnbd-clt.c

index 519c7d0..8b2411c 100644 (file)
@@ -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: