block/rnbd-srv: init ret with 0 instead of -EPERM

Let's always set errno after pr_err which is consistent with
default case.

Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Link: https://lore.kernel.org/r/20230524070026.2932-7-guoqing.jiang@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Guoqing Jiang 2023-05-24 15:00:24 +08:00 committed by Jens Axboe
parent 3ecdbf9151
commit 6a12d53795

View File

@ -467,34 +467,33 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
struct rnbd_srv_session *srv_sess, struct rnbd_srv_session *srv_sess,
enum rnbd_access_mode access_mode) enum rnbd_access_mode access_mode)
{ {
int ret = -EPERM; int ret = 0;
mutex_lock(&srv_dev->lock); mutex_lock(&srv_dev->lock);
switch (access_mode) { switch (access_mode) {
case RNBD_ACCESS_RO: case RNBD_ACCESS_RO:
ret = 0;
break; break;
case RNBD_ACCESS_RW: case RNBD_ACCESS_RW:
if (srv_dev->open_write_cnt == 0) { if (srv_dev->open_write_cnt == 0) {
srv_dev->open_write_cnt++; srv_dev->open_write_cnt++;
ret = 0;
} else { } else {
pr_err("Mapping device '%s' for session %s with RW permissions failed. Device already opened as 'RW' by %d client(s), access mode %s.\n", pr_err("Mapping device '%s' for session %s with RW permissions failed. Device already opened as 'RW' by %d client(s), access mode %s.\n",
srv_dev->name, srv_sess->sessname, srv_dev->name, srv_sess->sessname,
srv_dev->open_write_cnt, srv_dev->open_write_cnt,
rnbd_access_modes[access_mode].str); rnbd_access_modes[access_mode].str);
ret = -EPERM;
} }
break; break;
case RNBD_ACCESS_MIGRATION: case RNBD_ACCESS_MIGRATION:
if (srv_dev->open_write_cnt < 2) { if (srv_dev->open_write_cnt < 2) {
srv_dev->open_write_cnt++; srv_dev->open_write_cnt++;
ret = 0;
} else { } else {
pr_err("Mapping device '%s' for session %s with migration permissions failed. Device already opened as 'RW' by %d client(s), access mode %s.\n", pr_err("Mapping device '%s' for session %s with migration permissions failed. Device already opened as 'RW' by %d client(s), access mode %s.\n",
srv_dev->name, srv_sess->sessname, srv_dev->name, srv_sess->sessname,
srv_dev->open_write_cnt, srv_dev->open_write_cnt,
rnbd_access_modes[access_mode].str); rnbd_access_modes[access_mode].str);
ret = -EPERM;
} }
break; break;
default: default: