* [Qemu-devel] [PATCH v2 0/3] contrib/rdmacm-mux: fix clang compilation
@ 2019-01-18 12:46 Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag Marcel Apfelbaum
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2019-01-18 12:46 UTC (permalink / raw)
To: qemu-devel; +Cc: yuval.shaia, qemu-stable, marcel.apfelbaum, cohuck
v1 -> v2:
* Use {} construct instead memset to make both gcc and clang happy (Cornelia)
* Rebased on master
* Added Yuval's RB and Cornelia's Tested-by tags (thanks!)
Fix Commit a5d2f6f877 (contrib/rdmacm-mux: Add implementation
of RDMA User MAD multiplexer).
The above commit introduces a new contrib target, adding a global dependency
to libumad library in case pvrdma configuration option is enabled.
Clang forbids it:
clang-6.0: error: -libumad: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
Fix by limiting the scope to the rdmacm-mux target itself.
Fix related clang errors while at it.
Marcel Apfelbaum (3):
contrib/rdmacm-mux: remove Wno-format-truncation flag
hw/rdma: modify struct initialization
contrib/rdmacm-mux: fix clang compilation
Makefile | 2 ++
contrib/rdmacm-mux/Makefile.objs | 1 -
contrib/rdmacm-mux/main.c | 12 +++++++-----
hw/rdma/rdma_backend.c | 8 ++++----
4 files changed, 13 insertions(+), 10 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH v2 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag
2019-01-18 12:46 [Qemu-devel] [PATCH v2 0/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
@ 2019-01-18 12:46 ` Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 2/3] hw/rdma: modify struct initialization Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 3/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
2 siblings, 0 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2019-01-18 12:46 UTC (permalink / raw)
To: qemu-devel; +Cc: yuval.shaia, qemu-stable, marcel.apfelbaum, cohuck
The flag is not recognized by some CLANG versions.
Add proper constraints in code instead.
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Tested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
---
contrib/rdmacm-mux/Makefile.objs | 2 +-
contrib/rdmacm-mux/main.c | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/contrib/rdmacm-mux/Makefile.objs b/contrib/rdmacm-mux/Makefile.objs
index be3eacb6f7..e1ff4fe569 100644
--- a/contrib/rdmacm-mux/Makefile.objs
+++ b/contrib/rdmacm-mux/Makefile.objs
@@ -1,4 +1,4 @@
ifdef CONFIG_PVRDMA
-CFLAGS += -libumad -Wno-format-truncation
+CFLAGS += -libumad
rdmacm-mux-obj-y = main.o
endif
diff --git a/contrib/rdmacm-mux/main.c b/contrib/rdmacm-mux/main.c
index 835a7f9214..64676030c5 100644
--- a/contrib/rdmacm-mux/main.c
+++ b/contrib/rdmacm-mux/main.c
@@ -42,6 +42,8 @@
/* The below can be override by command line parameter */
#define UNIX_SOCKET_PATH "/var/run/rdmacm-mux"
+/* Has format %s-%s-%d" <path>-<rdma-dev--name>-<port> */
+#define SOCKET_PATH_MAX (PATH_MAX - NAME_MAX - sizeof(int) - 2)
#define RDMA_PORT_NUM 1
typedef struct RdmaCmServerArgs {
@@ -95,7 +97,7 @@ static void help(const char *progname)
static void parse_args(int argc, char *argv[])
{
int c;
- char unix_socket_path[PATH_MAX];
+ char unix_socket_path[SOCKET_PATH_MAX];
strcpy(server.args.rdma_dev_name, "");
strcpy(unix_socket_path, UNIX_SOCKET_PATH);
@@ -113,7 +115,7 @@ static void parse_args(int argc, char *argv[])
case 's':
/* This is temporary, final name will build below */
- strncpy(unix_socket_path, optarg, PATH_MAX);
+ strncpy(unix_socket_path, optarg, SOCKET_PATH_MAX);
break;
case 'p':
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH v2 2/3] hw/rdma: modify struct initialization
2019-01-18 12:46 [Qemu-devel] [PATCH v2 0/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag Marcel Apfelbaum
@ 2019-01-18 12:46 ` Marcel Apfelbaum
2019-01-18 13:13 ` Cornelia Huck
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 3/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
2 siblings, 1 reply; 5+ messages in thread
From: Marcel Apfelbaum @ 2019-01-18 12:46 UTC (permalink / raw)
To: qemu-devel; +Cc: yuval.shaia, qemu-stable, marcel.apfelbaum, cohuck
Do not initialize structs with {0} since some
CLANG versions do not support it.
Use {} construct instead.
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Tested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
---
contrib/rdmacm-mux/main.c | 6 +++---
hw/rdma/rdma_backend.c | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/contrib/rdmacm-mux/main.c b/contrib/rdmacm-mux/main.c
index 64676030c5..ae88c77a1e 100644
--- a/contrib/rdmacm-mux/main.c
+++ b/contrib/rdmacm-mux/main.c
@@ -350,7 +350,7 @@ static int get_fd(const char *mad, int *fd, __be64 *gid_ifid)
static void *umad_recv_thread_func(void *args)
{
int rc;
- RdmaCmMuxMsg msg = {0};
+ RdmaCmMuxMsg msg = {};
int fd = -2;
msg.hdr.msg_type = RDMACM_MUX_MSG_TYPE_REQ;
@@ -387,7 +387,7 @@ static void *umad_recv_thread_func(void *args)
static int read_and_process(int fd)
{
int rc;
- RdmaCmMuxMsg msg = {0};
+ RdmaCmMuxMsg msg = {};
struct umad_hdr *hdr;
uint32_t *comm_id = 0;
uint16_t attr_id;
@@ -744,7 +744,7 @@ static void signal_handler(int sig, siginfo_t *siginfo, void *context)
static int init(void)
{
int rc;
- struct sigaction sig = {0};
+ struct sigaction sig = {};
rc = init_listener();
if (rc) {
diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
index c28bfbd44d..0b9767fde7 100644
--- a/hw/rdma/rdma_backend.c
+++ b/hw/rdma/rdma_backend.c
@@ -190,7 +190,7 @@ static inline int rdmacm_mux_can_process_async(RdmaBackendDev *backend_dev)
static int check_mux_op_status(CharBackend *mad_chr_be)
{
- RdmaCmMuxMsg msg = {0};
+ RdmaCmMuxMsg msg = {};
int ret;
pr_dbg("Reading response\n");
@@ -387,7 +387,7 @@ static int build_host_sge_array(RdmaDeviceResources *rdma_dev_res,
static int mad_send(RdmaBackendDev *backend_dev, uint8_t sgid_idx,
union ibv_gid *sgid, struct ibv_sge *sge, uint32_t num_sge)
{
- RdmaCmMuxMsg msg = {0};
+ RdmaCmMuxMsg msg = {};
char *hdr, *data;
int ret;
@@ -1112,7 +1112,7 @@ int rdma_backend_get_gid_index(RdmaBackendDev *backend_dev,
int rdma_backend_add_gid(RdmaBackendDev *backend_dev, const char *ifname,
union ibv_gid *gid)
{
- RdmaCmMuxMsg msg = {0};
+ RdmaCmMuxMsg msg = {};
int ret;
pr_dbg("0x%llx, 0x%llx\n",
@@ -1138,7 +1138,7 @@ int rdma_backend_add_gid(RdmaBackendDev *backend_dev, const char *ifname,
int rdma_backend_del_gid(RdmaBackendDev *backend_dev, const char *ifname,
union ibv_gid *gid)
{
- RdmaCmMuxMsg msg = {0};
+ RdmaCmMuxMsg msg = {};
int ret;
pr_dbg("0x%llx, 0x%llx\n",
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH v2 3/3] contrib/rdmacm-mux: fix clang compilation
2019-01-18 12:46 [Qemu-devel] [PATCH v2 0/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 2/3] hw/rdma: modify struct initialization Marcel Apfelbaum
@ 2019-01-18 12:46 ` Marcel Apfelbaum
2 siblings, 0 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2019-01-18 12:46 UTC (permalink / raw)
To: qemu-devel; +Cc: yuval.shaia, qemu-stable, marcel.apfelbaum, cohuck
Fix Commit a5d2f6f877 (contrib/rdmacm-mux: Add implementation
of RDMA User MAD multiplexer).
The above commit introduces a new contrib target, adding a global dependency
to libumad library in case pvrdma configuration option is enabled.
Clang forbids it:
clang-6.0: error: -libumad: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
Fix by limiting the scope to the rdmacm-mux target itself.
Reported-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Tested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
---
Makefile | 2 ++
contrib/rdmacm-mux/Makefile.objs | 1 -
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index dccba1dca2..c9bdb67274 100644
--- a/Makefile
+++ b/Makefile
@@ -581,6 +581,8 @@ vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a
$(call LINK, $^)
vhost-user-blk$(EXESUF): $(vhost-user-blk-obj-y) libvhost-user.a
$(call LINK, $^)
+
+rdmacm-mux$(EXESUF): LIBS += "-libumad"
rdmacm-mux$(EXESUF): $(rdmacm-mux-obj-y) $(COMMON_LDADDS)
$(call LINK, $^)
diff --git a/contrib/rdmacm-mux/Makefile.objs b/contrib/rdmacm-mux/Makefile.objs
index e1ff4fe569..3df744af89 100644
--- a/contrib/rdmacm-mux/Makefile.objs
+++ b/contrib/rdmacm-mux/Makefile.objs
@@ -1,4 +1,3 @@
ifdef CONFIG_PVRDMA
-CFLAGS += -libumad
rdmacm-mux-obj-y = main.o
endif
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/3] hw/rdma: modify struct initialization
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 2/3] hw/rdma: modify struct initialization Marcel Apfelbaum
@ 2019-01-18 13:13 ` Cornelia Huck
0 siblings, 0 replies; 5+ messages in thread
From: Cornelia Huck @ 2019-01-18 13:13 UTC (permalink / raw)
To: Marcel Apfelbaum; +Cc: qemu-devel, yuval.shaia, qemu-stable
On Fri, 18 Jan 2019 14:46:13 +0200
Marcel Apfelbaum <marcel.apfelbaum@gmail.com> wrote:
> Do not initialize structs with {0} since some
> CLANG versions do not support it.
>
> Use {} construct instead.
>
> Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
> Tested-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> ---
> contrib/rdmacm-mux/main.c | 6 +++---
> hw/rdma/rdma_backend.c | 8 ++++----
> 2 files changed, 7 insertions(+), 7 deletions(-)
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-01-18 13:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-18 12:46 [Qemu-devel] [PATCH v2 0/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag Marcel Apfelbaum
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 2/3] hw/rdma: modify struct initialization Marcel Apfelbaum
2019-01-18 13:13 ` Cornelia Huck
2019-01-18 12:46 ` [Qemu-devel] [PATCH v2 3/3] contrib/rdmacm-mux: fix clang compilation Marcel Apfelbaum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).