From d372f554096e4358426f3e4cd18e6cd3c6db57b9 Mon Sep 17 00:00:00 2001 From: Navdeep Parhar Date: Fri, 14 Oct 2022 12:25:15 -0700 Subject: [PATCH 2/4] virtio_9pfs: Fix compilation errors with the clang included in main. sys/modules/virtio/9pnet/../../../dev/virtio/9pnet/client.c:253:12: error: add explicit braces to avoid dangling else [-Werror,-Wdangling-else] } else if (req->rc->id == P9PROTO_RLERROR) { ^ 1 error generated. sys/modules/virtio/9pfs/../../../dev/virtio/9pfs/virtfs_vnops.c:1633:9: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] symtgt = ap->a_target; ^ ~~~~~~~~~~~~ 1 error generated. --- sys/dev/virtio/9pfs/virtfs_vnops.c | 2 +- sys/dev/virtio/9pnet/client.c | 5 +++-- sys/dev/virtio/virtio_fs_client.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/dev/virtio/9pfs/virtfs_vnops.c b/sys/dev/virtio/9pfs/virtfs_vnops.c index bb05fcc5880..498b258684f 100644 --- a/sys/dev/virtio/9pfs/virtfs_vnops.c +++ b/sys/dev/virtio/9pfs/virtfs_vnops.c @@ -1617,7 +1617,7 @@ virtfs_symlink(struct vop_symlink_args *ap) struct vnode **vpp; struct vattr *vap; struct componentname *cnp; - char *symtgt; + const char *symtgt; struct virtfs_node *dnp; struct virtfs_session *vses; struct mount *mp; diff --git a/sys/dev/virtio/9pnet/client.c b/sys/dev/virtio/9pnet/client.c index 018fcc11b13..bb023720ef5 100644 --- a/sys/dev/virtio/9pnet/client.c +++ b/sys/dev/virtio/9pnet/client.c @@ -247,12 +247,13 @@ p9_client_check_return(struct p9_client *c, struct p9_req_t *req) * Note this is still not completely an error, as lookups for files * not present can hit this and return. Hence it is made a debug print. */ - if (error != 0) + if (error != 0) { if (req->rc->id == P9PROTO_RERROR) { p9_debug(TRANS, "<<< RERROR (%d) %s\n", error, ename); } else if (req->rc->id == P9PROTO_RLERROR) { p9_debug(TRANS, "<<< RLERROR (%d)\n", error); } + } if (req->rc->id == P9PROTO_RERROR) { free(ename, M_TEMP); @@ -1134,7 +1135,7 @@ p9_client_renameat(struct p9_fid *oldfid, char *oldname, struct p9_fid *newfid, /* Request to create symbolic link */ int -p9_create_symlink(struct p9_fid *fid, char *name, char *symtgt, gid_t gid) +p9_create_symlink(struct p9_fid *fid, char *name, const char *symtgt, gid_t gid) { int error; struct p9_req_t *req; diff --git a/sys/dev/virtio/virtio_fs_client.h b/sys/dev/virtio/virtio_fs_client.h index 277be67559e..9bf81044cec 100644 --- a/sys/dev/virtio/virtio_fs_client.h +++ b/sys/dev/virtio/virtio_fs_client.h @@ -149,7 +149,7 @@ void p9_client_cb(struct p9_client *c, struct p9_req_t *req); int p9stat_read(struct p9_client *clnt, char *data, size_t len, struct p9_wstat *st); void p9_client_disconnect(struct p9_client *clnt); void p9_client_begin_disconnect(struct p9_client *clnt); -int p9_create_symlink(struct p9_fid *fid, char *name, char *symtgt, gid_t gid); +int p9_create_symlink(struct p9_fid *fid, char *name, const char *symtgt, gid_t gid); int p9_create_hardlink(struct p9_fid *dfid, struct p9_fid *oldfid, char *name); int p9_readlink(struct p9_fid *fid, char **target); int p9_client_renameat(struct p9_fid *oldfid, char *oldname, struct p9_fid *newfid, char *newname); -- 2.38.0