Commit d6e94913 authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Jens Axboe
Browse files

block/rnbd: introduce rnbd_access_modes



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: default avatarGuoqing Jiang <guoqing.jiang@linux.dev>
Acked-by: default avatarJack Wang <jinpu.wang@ionos.com>
Link: https://lore.kernel.org/r/20230524070026.2932-4-guoqing.jiang@linux.dev


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 5783153a
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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

+2 −2
Original line number Diff line number Diff line
@@ -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,

drivers/block/rnbd/rnbd-common.c

deleted100644 → 0
+0 −23
Original line number Diff line number Diff line
// 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";
	}
}
+9 −0
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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 =
Loading