mirror of
https://github.com/torvalds/linux.git
synced 2024-09-21 07:23:06 +00:00
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:
parent
3ecdbf9151
commit
6a12d53795
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user