* [PATCH V2 0/8] misc patches for rnbd
@ 2023-05-24 7:00 Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 1/8] block/rnbd: kill rnbd_flags_supported Guoqing Jiang
` (9 more replies)
0 siblings, 10 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
V2 changes:
1. two patches are dropped
2. collect tags from Jack
3. replace "int mode" with "enum rnbd_access_mode" in the 3rd one
Hi,
This series mostly do cleanup and other trival things, pls review.
Thanks,
Guoqing
Guoqing Jiang (8):
block/rnbd: kill rnbd_flags_supported
block/rnbd-srv: remove unused header
block/rnbd: introduce rnbd_access_modes
block/rnbd-srv: no need to check sess_dev
block/rnbd-srv: rename one member in rnbd_srv_dev
block/rnbd-srv: init ret with 0 instead of -EPERM
block/rnbd-srv: init err earlier in rnbd_srv_init_module
block/rnbd-srv: make process_msg_sess_info returns void
drivers/block/rnbd/Makefile | 6 ++--
drivers/block/rnbd/rnbd-clt-sysfs.c | 4 +--
drivers/block/rnbd/rnbd-common.c | 23 ---------------
drivers/block/rnbd/rnbd-proto.h | 31 ++++++--------------
drivers/block/rnbd/rnbd-srv-sysfs.c | 3 +-
drivers/block/rnbd/rnbd-srv.c | 44 +++++++++++++----------------
drivers/block/rnbd/rnbd-srv.h | 2 +-
7 files changed, 34 insertions(+), 79 deletions(-)
delete mode 100644 drivers/block/rnbd/rnbd-common.c
--
2.35.3
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH V2 1/8] block/rnbd: kill rnbd_flags_supported
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 2/8] block/rnbd-srv: remove unused header Guoqing Jiang
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
This routine is not called since added. Then the two flags
(RNBD_OP_LAST and RNBD_F_ALL) can be removed too after kill
rnbd_flags_supported.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-proto.h | 22 ----------------------
1 file changed, 22 deletions(-)
diff --git a/drivers/block/rnbd/rnbd-proto.h b/drivers/block/rnbd/rnbd-proto.h
index da1d0542d7e2..84fd69844b7d 100644
--- a/drivers/block/rnbd/rnbd-proto.h
+++ b/drivers/block/rnbd/rnbd-proto.h
@@ -185,7 +185,6 @@ struct rnbd_msg_io {
enum rnbd_io_flags {
/* Operations */
-
RNBD_OP_READ = 0,
RNBD_OP_WRITE = 1,
RNBD_OP_FLUSH = 2,
@@ -193,15 +192,9 @@ enum rnbd_io_flags {
RNBD_OP_SECURE_ERASE = 4,
RNBD_OP_WRITE_SAME = 5,
- RNBD_OP_LAST,
-
/* Flags */
-
RNBD_F_SYNC = 1<<(RNBD_OP_BITS + 0),
RNBD_F_FUA = 1<<(RNBD_OP_BITS + 1),
-
- RNBD_F_ALL = (RNBD_F_SYNC | RNBD_F_FUA)
-
};
static inline u32 rnbd_op(u32 flags)
@@ -214,21 +207,6 @@ static inline u32 rnbd_flags(u32 flags)
return flags & ~RNBD_OP_MASK;
}
-static inline bool rnbd_flags_supported(u32 flags)
-{
- u32 op;
-
- op = rnbd_op(flags);
- flags = rnbd_flags(flags);
-
- if (op >= RNBD_OP_LAST)
- return false;
- if (flags & ~RNBD_F_ALL)
- return false;
-
- return true;
-}
-
static inline blk_opf_t rnbd_to_bio_flags(u32 rnbd_opf)
{
blk_opf_t bio_opf;
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 2/8] block/rnbd-srv: remove unused header
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 1/8] block/rnbd: kill rnbd_flags_supported Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 3/8] block/rnbd: introduce rnbd_access_modes Guoqing Jiang
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
No need to include it since none of macros in limits.h are
used by rnbd-srv.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-srv-sysfs.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/block/rnbd/rnbd-srv-sysfs.c b/drivers/block/rnbd/rnbd-srv-sysfs.c
index d5d9267e1fa5..9fe7d9e0ab63 100644
--- a/drivers/block/rnbd/rnbd-srv-sysfs.c
+++ b/drivers/block/rnbd/rnbd-srv-sysfs.c
@@ -9,7 +9,6 @@
#undef pr_fmt
#define pr_fmt(fmt) KBUILD_MODNAME " L" __stringify(__LINE__) ": " fmt
-#include <uapi/linux/limits.h>
#include <linux/kobject.h>
#include <linux/sysfs.h>
#include <linux/stat.h>
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 3/8] block/rnbd: introduce rnbd_access_modes
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 1/8] block/rnbd: kill rnbd_flags_supported Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 2/8] block/rnbd-srv: remove unused header Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 10:46 ` Jinpu Wang
2023-05-24 7:00 ` [PATCH V2 4/8] block/rnbd-srv: no need to check sess_dev Guoqing Jiang
` (6 subsequent siblings)
9 siblings, 1 reply; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
Add one new array (marked with __maybe_unused to prevent gcc warning about
"defined but not used" with W=1), then we can remove rnbd_access_mode_str
and rnbd-common.c accordingly.
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/Makefile | 6 ++----
drivers/block/rnbd/rnbd-clt-sysfs.c | 4 ++--
drivers/block/rnbd/rnbd-common.c | 23 -----------------------
drivers/block/rnbd/rnbd-proto.h | 9 +++++++++
drivers/block/rnbd/rnbd-srv-sysfs.c | 2 +-
drivers/block/rnbd/rnbd-srv.c | 4 ++--
6 files changed, 16 insertions(+), 32 deletions(-)
delete mode 100644 drivers/block/rnbd/rnbd-common.c
diff --git a/drivers/block/rnbd/Makefile b/drivers/block/rnbd/Makefile
index 40b31630822c..208e5f865497 100644
--- a/drivers/block/rnbd/Makefile
+++ b/drivers/block/rnbd/Makefile
@@ -3,13 +3,11 @@
ccflags-y := -I$(srctree)/drivers/infiniband/ulp/rtrs
rnbd-client-y := rnbd-clt.o \
- rnbd-clt-sysfs.o \
- rnbd-common.o
+ rnbd-clt-sysfs.o
CFLAGS_rnbd-srv-trace.o = -I$(src)
-rnbd-server-y := rnbd-common.o \
- rnbd-srv.o \
+rnbd-server-y := rnbd-srv.o \
rnbd-srv-sysfs.o \
rnbd-srv-trace.o
diff --git a/drivers/block/rnbd/rnbd-clt-sysfs.c b/drivers/block/rnbd/rnbd-clt-sysfs.c
index 8c6087949794..a0b49a0c0bdd 100644
--- a/drivers/block/rnbd/rnbd-clt-sysfs.c
+++ b/drivers/block/rnbd/rnbd-clt-sysfs.c
@@ -278,7 +278,7 @@ static ssize_t access_mode_show(struct kobject *kobj,
dev = container_of(kobj, struct rnbd_clt_dev, kobj);
- return sysfs_emit(page, "%s\n", rnbd_access_mode_str(dev->access_mode));
+ return sysfs_emit(page, "%s\n", rnbd_access_modes[dev->access_mode].str);
}
static struct kobj_attribute rnbd_clt_access_mode =
@@ -596,7 +596,7 @@ static ssize_t rnbd_clt_map_device_store(struct kobject *kobj,
pr_info("Mapping device %s on session %s, (access_mode: %s, nr_poll_queues: %d)\n",
pathname, sessname,
- rnbd_access_mode_str(access_mode),
+ rnbd_access_modes[access_mode].str,
nr_poll_queues);
dev = rnbd_clt_map_device(sessname, paths, path_cnt, port_nr, pathname,
diff --git a/drivers/block/rnbd/rnbd-common.c b/drivers/block/rnbd/rnbd-common.c
deleted file mode 100644
index 596c3f732403..000000000000
--- a/drivers/block/rnbd/rnbd-common.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * RDMA Network Block Driver
- *
- * Copyright (c) 2014 - 2018 ProfitBricks GmbH. All rights reserved.
- * Copyright (c) 2018 - 2019 1&1 IONOS Cloud GmbH. All rights reserved.
- * Copyright (c) 2019 - 2020 1&1 IONOS SE. All rights reserved.
- */
-#include "rnbd-proto.h"
-
-const char *rnbd_access_mode_str(enum rnbd_access_mode mode)
-{
- switch (mode) {
- case RNBD_ACCESS_RO:
- return "ro";
- case RNBD_ACCESS_RW:
- return "rw";
- case RNBD_ACCESS_MIGRATION:
- return "migration";
- default:
- return "unknown";
- }
-}
diff --git a/drivers/block/rnbd/rnbd-proto.h b/drivers/block/rnbd/rnbd-proto.h
index 84fd69844b7d..e32f8f2c868a 100644
--- a/drivers/block/rnbd/rnbd-proto.h
+++ b/drivers/block/rnbd/rnbd-proto.h
@@ -61,6 +61,15 @@ enum rnbd_access_mode {
RNBD_ACCESS_MIGRATION,
};
+static const __maybe_unused struct {
+ enum rnbd_access_mode mode;
+ const char *str;
+} rnbd_access_modes[] = {
+ [RNBD_ACCESS_RO] = {RNBD_ACCESS_RO, "ro"},
+ [RNBD_ACCESS_RW] = {RNBD_ACCESS_RW, "rw"},
+ [RNBD_ACCESS_MIGRATION] = {RNBD_ACCESS_MIGRATION, "migration"},
+};
+
/**
* struct rnbd_msg_sess_info - initial session info from client to server
* @hdr: message header
diff --git a/drivers/block/rnbd/rnbd-srv-sysfs.c b/drivers/block/rnbd/rnbd-srv-sysfs.c
index 9fe7d9e0ab63..4962826e9639 100644
--- a/drivers/block/rnbd/rnbd-srv-sysfs.c
+++ b/drivers/block/rnbd/rnbd-srv-sysfs.c
@@ -103,7 +103,7 @@ static ssize_t access_mode_show(struct kobject *kobj,
sess_dev = container_of(kobj, struct rnbd_srv_sess_dev, kobj);
return sysfs_emit(page, "%s\n",
- rnbd_access_mode_str(sess_dev->access_mode));
+ rnbd_access_modes[sess_dev->access_mode].str);
}
static struct kobj_attribute rnbd_srv_dev_session_access_mode_attr =
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 2cfed2e58d64..e9ef6bd4b50c 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -483,7 +483,7 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
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->id, srv_sess->sessname,
srv_dev->open_write_cnt,
- rnbd_access_mode_str(access_mode));
+ rnbd_access_modes[access_mode].str);
}
break;
case RNBD_ACCESS_MIGRATION:
@@ -494,7 +494,7 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
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->id, srv_sess->sessname,
srv_dev->open_write_cnt,
- rnbd_access_mode_str(access_mode));
+ rnbd_access_modes[access_mode].str);
}
break;
default:
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 4/8] block/rnbd-srv: no need to check sess_dev
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (2 preceding siblings ...)
2023-05-24 7:00 ` [PATCH V2 3/8] block/rnbd: introduce rnbd_access_modes Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 5/8] block/rnbd-srv: rename one member in rnbd_srv_dev Guoqing Jiang
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
Check ret is enough since if sess_dev is NULL which also
implies ret should be 0.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-srv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index e9ef6bd4b50c..c4122e65b36a 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -96,7 +96,7 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
ret = kref_get_unless_zero(&sess_dev->kref);
rcu_read_unlock();
- if (!sess_dev || !ret)
+ if (!ret)
return ERR_PTR(-ENXIO);
return sess_dev;
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 5/8] block/rnbd-srv: rename one member in rnbd_srv_dev
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (3 preceding siblings ...)
2023-05-24 7:00 ` [PATCH V2 4/8] block/rnbd-srv: no need to check sess_dev Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 6/8] block/rnbd-srv: init ret with 0 instead of -EPERM Guoqing Jiang
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
It actually represents the name of rnbd_srv_dev.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-srv.c | 14 +++++++-------
drivers/block/rnbd/rnbd-srv.h | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index c4122e65b36a..ac2dc692bdc0 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -180,7 +180,7 @@ static void destroy_device(struct kref *kref)
WARN_ONCE(!list_empty(&dev->sess_dev_list),
"Device %s is being destroyed but still in use!\n",
- dev->id);
+ dev->name);
spin_lock(&dev_lock);
list_del(&dev->list);
@@ -431,7 +431,7 @@ static struct rnbd_srv_dev *rnbd_srv_init_srv_dev(struct block_device *bdev)
if (!dev)
return ERR_PTR(-ENOMEM);
- snprintf(dev->id, sizeof(dev->id), "%pg", bdev);
+ snprintf(dev->name, sizeof(dev->name), "%pg", bdev);
kref_init(&dev->kref);
INIT_LIST_HEAD(&dev->sess_dev_list);
mutex_init(&dev->lock);
@@ -446,7 +446,7 @@ rnbd_srv_find_or_add_srv_dev(struct rnbd_srv_dev *new_dev)
spin_lock(&dev_lock);
list_for_each_entry(dev, &dev_list, list) {
- if (!strncmp(dev->id, new_dev->id, sizeof(dev->id))) {
+ if (!strncmp(dev->name, new_dev->name, sizeof(dev->name))) {
if (!kref_get_unless_zero(&dev->kref))
/*
* We lost the race, device is almost dead.
@@ -481,7 +481,7 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
ret = 0;
} 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",
- srv_dev->id, srv_sess->sessname,
+ srv_dev->name, srv_sess->sessname,
srv_dev->open_write_cnt,
rnbd_access_modes[access_mode].str);
}
@@ -492,14 +492,14 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
ret = 0;
} 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",
- srv_dev->id, srv_sess->sessname,
+ srv_dev->name, srv_sess->sessname,
srv_dev->open_write_cnt,
rnbd_access_modes[access_mode].str);
}
break;
default:
pr_err("Received mapping request for device '%s' on session %s with invalid access mode: %d\n",
- srv_dev->id, srv_sess->sessname, access_mode);
+ srv_dev->name, srv_sess->sessname, access_mode);
ret = -EINVAL;
}
@@ -774,7 +774,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
list_add(&srv_sess_dev->dev_list, &srv_dev->sess_dev_list);
mutex_unlock(&srv_dev->lock);
- rnbd_srv_info(srv_sess_dev, "Opened device '%s'\n", srv_dev->id);
+ rnbd_srv_info(srv_sess_dev, "Opened device '%s'\n", srv_dev->name);
kfree(full_path);
diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
index f5962fd31d62..6b5e5ade18ae 100644
--- a/drivers/block/rnbd/rnbd-srv.h
+++ b/drivers/block/rnbd/rnbd-srv.h
@@ -35,7 +35,7 @@ struct rnbd_srv_dev {
struct kobject dev_kobj;
struct kobject *dev_sessions_kobj;
struct kref kref;
- char id[NAME_MAX];
+ char name[NAME_MAX];
/* List of rnbd_srv_sess_dev structs */
struct list_head sess_dev_list;
struct mutex lock;
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 6/8] block/rnbd-srv: init ret with 0 instead of -EPERM
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (4 preceding siblings ...)
2023-05-24 7:00 ` [PATCH V2 5/8] block/rnbd-srv: rename one member in rnbd_srv_dev Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 7/8] block/rnbd-srv: init err earlier in rnbd_srv_init_module Guoqing Jiang
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
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>
---
drivers/block/rnbd/rnbd-srv.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index ac2dc692bdc0..a9a506f4f33f 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -467,34 +467,33 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
struct rnbd_srv_session *srv_sess,
enum rnbd_access_mode access_mode)
{
- int ret = -EPERM;
+ int ret = 0;
mutex_lock(&srv_dev->lock);
switch (access_mode) {
case RNBD_ACCESS_RO:
- ret = 0;
break;
case RNBD_ACCESS_RW:
if (srv_dev->open_write_cnt == 0) {
srv_dev->open_write_cnt++;
- ret = 0;
} 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",
srv_dev->name, srv_sess->sessname,
srv_dev->open_write_cnt,
rnbd_access_modes[access_mode].str);
+ ret = -EPERM;
}
break;
case RNBD_ACCESS_MIGRATION:
if (srv_dev->open_write_cnt < 2) {
srv_dev->open_write_cnt++;
- ret = 0;
} 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",
srv_dev->name, srv_sess->sessname,
srv_dev->open_write_cnt,
rnbd_access_modes[access_mode].str);
+ ret = -EPERM;
}
break;
default:
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 7/8] block/rnbd-srv: init err earlier in rnbd_srv_init_module
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (5 preceding siblings ...)
2023-05-24 7:00 ` [PATCH V2 6/8] block/rnbd-srv: init ret with 0 instead of -EPERM Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 8/8] block/rnbd-srv: make process_msg_sess_info returns void Guoqing Jiang
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
With this, we can remove several lines of code.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-srv.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index a9a506f4f33f..cfb741815458 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -807,7 +807,7 @@ static struct rtrs_srv_ctx *rtrs_ctx;
static struct rtrs_srv_ops rtrs_ops;
static int __init rnbd_srv_init_module(void)
{
- int err;
+ int err = 0;
BUILD_BUG_ON(sizeof(struct rnbd_msg_hdr) != 4);
BUILD_BUG_ON(sizeof(struct rnbd_msg_sess_info) != 36);
@@ -821,19 +821,17 @@ static int __init rnbd_srv_init_module(void)
};
rtrs_ctx = rtrs_srv_open(&rtrs_ops, port_nr);
if (IS_ERR(rtrs_ctx)) {
- err = PTR_ERR(rtrs_ctx);
pr_err("rtrs_srv_open(), err: %d\n", err);
- return err;
+ return PTR_ERR(rtrs_ctx);
}
err = rnbd_srv_create_sysfs_files();
if (err) {
pr_err("rnbd_srv_create_sysfs_files(), err: %d\n", err);
rtrs_srv_close(rtrs_ctx);
- return err;
}
- return 0;
+ return err;
}
static void __exit rnbd_srv_cleanup_module(void)
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 8/8] block/rnbd-srv: make process_msg_sess_info returns void
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (6 preceding siblings ...)
2023-05-24 7:00 ` [PATCH V2 7/8] block/rnbd-srv: init err earlier in rnbd_srv_init_module Guoqing Jiang
@ 2023-05-24 7:00 ` Guoqing Jiang
2023-06-12 1:37 ` [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
2023-06-12 1:49 ` Jens Axboe
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-05-24 7:00 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe; +Cc: linux-block
Change the return type to void given it always returns 0.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-srv.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index cfb741815458..6aae067c7a60 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -356,7 +356,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
const void *msg, size_t len,
void *data, size_t datalen);
-static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
+static void process_msg_sess_info(struct rnbd_srv_session *srv_sess,
const void *msg, size_t len,
void *data, size_t datalen);
@@ -384,8 +384,7 @@ static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
ret = process_msg_open(srv_sess, usr, usrlen, data, datalen);
break;
case RNBD_MSG_SESS_INFO:
- ret = process_msg_sess_info(srv_sess, usr, usrlen, data,
- datalen);
+ process_msg_sess_info(srv_sess, usr, usrlen, data, datalen);
break;
default:
pr_warn("Received unexpected message type %d from session %s\n",
@@ -630,7 +629,7 @@ static char *rnbd_srv_get_full_path(struct rnbd_srv_session *srv_sess,
return full_path;
}
-static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
+static void process_msg_sess_info(struct rnbd_srv_session *srv_sess,
const void *msg, size_t len,
void *data, size_t datalen)
{
@@ -643,8 +642,6 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
rsp->hdr.type = cpu_to_le16(RNBD_MSG_SESS_INFO_RSP);
rsp->ver = srv_sess->ver;
-
- return 0;
}
/**
--
2.35.3
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH V2 3/8] block/rnbd: introduce rnbd_access_modes
2023-05-24 7:00 ` [PATCH V2 3/8] block/rnbd: introduce rnbd_access_modes Guoqing Jiang
@ 2023-05-24 10:46 ` Jinpu Wang
0 siblings, 0 replies; 12+ messages in thread
From: Jinpu Wang @ 2023-05-24 10:46 UTC (permalink / raw)
To: Guoqing Jiang; +Cc: haris.iqbal, axboe, linux-block
On Wed, May 24, 2023 at 9:00 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>
> Add one new array (marked with __maybe_unused to prevent gcc warning about
> "defined but not used" with W=1), then we can remove rnbd_access_mode_str
> and rnbd-common.c accordingly.
>
> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Acked-by: Jack Wang <jinpu.wang@ionos.com>
> ---
> drivers/block/rnbd/Makefile | 6 ++----
> drivers/block/rnbd/rnbd-clt-sysfs.c | 4 ++--
> drivers/block/rnbd/rnbd-common.c | 23 -----------------------
> drivers/block/rnbd/rnbd-proto.h | 9 +++++++++
> drivers/block/rnbd/rnbd-srv-sysfs.c | 2 +-
> drivers/block/rnbd/rnbd-srv.c | 4 ++--
> 6 files changed, 16 insertions(+), 32 deletions(-)
> delete mode 100644 drivers/block/rnbd/rnbd-common.c
>
> diff --git a/drivers/block/rnbd/Makefile b/drivers/block/rnbd/Makefile
> index 40b31630822c..208e5f865497 100644
> --- a/drivers/block/rnbd/Makefile
> +++ b/drivers/block/rnbd/Makefile
> @@ -3,13 +3,11 @@
> ccflags-y := -I$(srctree)/drivers/infiniband/ulp/rtrs
>
> rnbd-client-y := rnbd-clt.o \
> - rnbd-clt-sysfs.o \
> - rnbd-common.o
> + rnbd-clt-sysfs.o
>
> CFLAGS_rnbd-srv-trace.o = -I$(src)
>
> -rnbd-server-y := rnbd-common.o \
> - rnbd-srv.o \
> +rnbd-server-y := rnbd-srv.o \
> rnbd-srv-sysfs.o \
> rnbd-srv-trace.o
>
> diff --git a/drivers/block/rnbd/rnbd-clt-sysfs.c b/drivers/block/rnbd/rnbd-clt-sysfs.c
> index 8c6087949794..a0b49a0c0bdd 100644
> --- a/drivers/block/rnbd/rnbd-clt-sysfs.c
> +++ b/drivers/block/rnbd/rnbd-clt-sysfs.c
> @@ -278,7 +278,7 @@ static ssize_t access_mode_show(struct kobject *kobj,
>
> dev = container_of(kobj, struct rnbd_clt_dev, kobj);
>
> - return sysfs_emit(page, "%s\n", rnbd_access_mode_str(dev->access_mode));
> + return sysfs_emit(page, "%s\n", rnbd_access_modes[dev->access_mode].str);
> }
>
> static struct kobj_attribute rnbd_clt_access_mode =
> @@ -596,7 +596,7 @@ static ssize_t rnbd_clt_map_device_store(struct kobject *kobj,
>
> pr_info("Mapping device %s on session %s, (access_mode: %s, nr_poll_queues: %d)\n",
> pathname, sessname,
> - rnbd_access_mode_str(access_mode),
> + rnbd_access_modes[access_mode].str,
> nr_poll_queues);
>
> dev = rnbd_clt_map_device(sessname, paths, path_cnt, port_nr, pathname,
> diff --git a/drivers/block/rnbd/rnbd-common.c b/drivers/block/rnbd/rnbd-common.c
> deleted file mode 100644
> index 596c3f732403..000000000000
> --- a/drivers/block/rnbd/rnbd-common.c
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-or-later
> -/*
> - * RDMA Network Block Driver
> - *
> - * Copyright (c) 2014 - 2018 ProfitBricks GmbH. All rights reserved.
> - * Copyright (c) 2018 - 2019 1&1 IONOS Cloud GmbH. All rights reserved.
> - * Copyright (c) 2019 - 2020 1&1 IONOS SE. All rights reserved.
> - */
> -#include "rnbd-proto.h"
> -
> -const char *rnbd_access_mode_str(enum rnbd_access_mode mode)
> -{
> - switch (mode) {
> - case RNBD_ACCESS_RO:
> - return "ro";
> - case RNBD_ACCESS_RW:
> - return "rw";
> - case RNBD_ACCESS_MIGRATION:
> - return "migration";
> - default:
> - return "unknown";
> - }
> -}
> diff --git a/drivers/block/rnbd/rnbd-proto.h b/drivers/block/rnbd/rnbd-proto.h
> index 84fd69844b7d..e32f8f2c868a 100644
> --- a/drivers/block/rnbd/rnbd-proto.h
> +++ b/drivers/block/rnbd/rnbd-proto.h
> @@ -61,6 +61,15 @@ enum rnbd_access_mode {
> RNBD_ACCESS_MIGRATION,
> };
>
> +static const __maybe_unused struct {
> + enum rnbd_access_mode mode;
> + const char *str;
> +} rnbd_access_modes[] = {
> + [RNBD_ACCESS_RO] = {RNBD_ACCESS_RO, "ro"},
> + [RNBD_ACCESS_RW] = {RNBD_ACCESS_RW, "rw"},
> + [RNBD_ACCESS_MIGRATION] = {RNBD_ACCESS_MIGRATION, "migration"},
> +};
> +
> /**
> * struct rnbd_msg_sess_info - initial session info from client to server
> * @hdr: message header
> diff --git a/drivers/block/rnbd/rnbd-srv-sysfs.c b/drivers/block/rnbd/rnbd-srv-sysfs.c
> index 9fe7d9e0ab63..4962826e9639 100644
> --- a/drivers/block/rnbd/rnbd-srv-sysfs.c
> +++ b/drivers/block/rnbd/rnbd-srv-sysfs.c
> @@ -103,7 +103,7 @@ static ssize_t access_mode_show(struct kobject *kobj,
> sess_dev = container_of(kobj, struct rnbd_srv_sess_dev, kobj);
>
> return sysfs_emit(page, "%s\n",
> - rnbd_access_mode_str(sess_dev->access_mode));
> + rnbd_access_modes[sess_dev->access_mode].str);
> }
>
> static struct kobj_attribute rnbd_srv_dev_session_access_mode_attr =
> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> index 2cfed2e58d64..e9ef6bd4b50c 100644
> --- a/drivers/block/rnbd/rnbd-srv.c
> +++ b/drivers/block/rnbd/rnbd-srv.c
> @@ -483,7 +483,7 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
> 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->id, srv_sess->sessname,
> srv_dev->open_write_cnt,
> - rnbd_access_mode_str(access_mode));
> + rnbd_access_modes[access_mode].str);
> }
> break;
> case RNBD_ACCESS_MIGRATION:
> @@ -494,7 +494,7 @@ static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
> 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->id, srv_sess->sessname,
> srv_dev->open_write_cnt,
> - rnbd_access_mode_str(access_mode));
> + rnbd_access_modes[access_mode].str);
> }
> break;
> default:
> --
> 2.35.3
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH V2 0/8] misc patches for rnbd
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (7 preceding siblings ...)
2023-05-24 7:00 ` [PATCH V2 8/8] block/rnbd-srv: make process_msg_sess_info returns void Guoqing Jiang
@ 2023-06-12 1:37 ` Guoqing Jiang
2023-06-12 1:49 ` Jens Axboe
9 siblings, 0 replies; 12+ messages in thread
From: Guoqing Jiang @ 2023-06-12 1:37 UTC (permalink / raw)
To: axboe; +Cc: jinpu.wang, haris.iqbal, linux-block
Hi Jens,
Jack had acked all the patches, could you merge this series?
Thanks,
Guoqing
On 5/24/23 15:00, Guoqing Jiang wrote:
> V2 changes:
> 1. two patches are dropped
> 2. collect tags from Jack
> 3. replace "int mode" with "enum rnbd_access_mode" in the 3rd one
>
> Hi,
>
> This series mostly do cleanup and other trival things, pls review.
>
> Thanks,
> Guoqing
>
> Guoqing Jiang (8):
> block/rnbd: kill rnbd_flags_supported
> block/rnbd-srv: remove unused header
> block/rnbd: introduce rnbd_access_modes
> block/rnbd-srv: no need to check sess_dev
> block/rnbd-srv: rename one member in rnbd_srv_dev
> block/rnbd-srv: init ret with 0 instead of -EPERM
> block/rnbd-srv: init err earlier in rnbd_srv_init_module
> block/rnbd-srv: make process_msg_sess_info returns void
>
> drivers/block/rnbd/Makefile | 6 ++--
> drivers/block/rnbd/rnbd-clt-sysfs.c | 4 +--
> drivers/block/rnbd/rnbd-common.c | 23 ---------------
> drivers/block/rnbd/rnbd-proto.h | 31 ++++++--------------
> drivers/block/rnbd/rnbd-srv-sysfs.c | 3 +-
> drivers/block/rnbd/rnbd-srv.c | 44 +++++++++++++----------------
> drivers/block/rnbd/rnbd-srv.h | 2 +-
> 7 files changed, 34 insertions(+), 79 deletions(-)
> delete mode 100644 drivers/block/rnbd/rnbd-common.c
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH V2 0/8] misc patches for rnbd
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
` (8 preceding siblings ...)
2023-06-12 1:37 ` [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
@ 2023-06-12 1:49 ` Jens Axboe
9 siblings, 0 replies; 12+ messages in thread
From: Jens Axboe @ 2023-06-12 1:49 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, Guoqing Jiang; +Cc: linux-block
On Wed, 24 May 2023 15:00:18 +0800, Guoqing Jiang wrote:
> V2 changes:
> 1. two patches are dropped
> 2. collect tags from Jack
> 3. replace "int mode" with "enum rnbd_access_mode" in the 3rd one
>
> Hi,
>
> [...]
Applied, thanks!
[1/8] block/rnbd: kill rnbd_flags_supported
commit: b0488411e919368014907850f74191d03e25f031
[2/8] block/rnbd-srv: remove unused header
commit: 5783153ac67e20f65a402ef42237cd1a6d7fa320
[3/8] block/rnbd: introduce rnbd_access_modes
commit: d6e94913cb1cb4b4d1d737f72b5cef10b13395ff
[4/8] block/rnbd-srv: no need to check sess_dev
commit: ba2eed1cf8f08f1e5b1ba009ac22554f14d05342
[5/8] block/rnbd-srv: rename one member in rnbd_srv_dev
commit: 3ecdbf91513511fae49eb0cfa9f39f690eb4fe11
[6/8] block/rnbd-srv: init ret with 0 instead of -EPERM
commit: 6a12d5379508d530a73140fc7d5502551558ced5
[7/8] block/rnbd-srv: init err earlier in rnbd_srv_init_module
commit: d3fc0b46642524bc8e38aed3c7f5e99742436495
[8/8] block/rnbd-srv: make process_msg_sess_info returns void
commit: fece685cc7bbb5e1af89f891223c31c3bcc969f7
Best regards,
--
Jens Axboe
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-06-12 1:49 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-24 7:00 [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 1/8] block/rnbd: kill rnbd_flags_supported Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 2/8] block/rnbd-srv: remove unused header Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 3/8] block/rnbd: introduce rnbd_access_modes Guoqing Jiang
2023-05-24 10:46 ` Jinpu Wang
2023-05-24 7:00 ` [PATCH V2 4/8] block/rnbd-srv: no need to check sess_dev Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 5/8] block/rnbd-srv: rename one member in rnbd_srv_dev Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 6/8] block/rnbd-srv: init ret with 0 instead of -EPERM Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 7/8] block/rnbd-srv: init err earlier in rnbd_srv_init_module Guoqing Jiang
2023-05-24 7:00 ` [PATCH V2 8/8] block/rnbd-srv: make process_msg_sess_info returns void Guoqing Jiang
2023-06-12 1:37 ` [PATCH V2 0/8] misc patches for rnbd Guoqing Jiang
2023-06-12 1:49 ` Jens Axboe
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.