block/rnbd-clt: Make path parameter optional for map_device
During map_device if the given session exists, then the path parameter is not used. In such a case, the path parameter is redundant. This commit makes the path parameter optional for map_device. When the path parameter is not given, if the session exists then that is used to establish the rtrs connection. If the session does not exist, and the path parameter is also missing, then map_device fails. Signed-off-by: Md Haris Iqbal <haris.iqbal@cloud.ionos.com> Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
3b9351f0fd
commit
ce9fe18abb
|
@ -37,7 +37,6 @@ enum {
|
|||
};
|
||||
|
||||
static const unsigned int rnbd_opt_mandatory[] = {
|
||||
RNBD_OPT_PATH,
|
||||
RNBD_OPT_DEV_PATH,
|
||||
RNBD_OPT_SESSNAME,
|
||||
};
|
||||
|
|
|
@ -1193,6 +1193,12 @@ find_and_get_or_create_sess(const char *sessname,
|
|||
else if (!first)
|
||||
return sess;
|
||||
|
||||
if (!path_cnt) {
|
||||
pr_err("Session %s not found, and path parameter not given", sessname);
|
||||
err = -ENXIO;
|
||||
goto put_sess;
|
||||
}
|
||||
|
||||
rtrs_ops = (struct rtrs_clt_ops) {
|
||||
.priv = sess,
|
||||
.link_ev = rnbd_clt_link_ev,
|
||||
|
|
Loading…
Reference in New Issue