]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net/9p: move structures and macros to header files
authorEric Sandeen <sandeen@redhat.com>
Fri, 10 Oct 2025 21:36:17 +0000 (16:36 -0500)
committerDominique Martinet <asmadeus@codewreck.org>
Mon, 3 Nov 2025 07:49:53 +0000 (16:49 +0900)
With the new mount API all option parsing will need to happen
in fs/v9fs.c, so move some existing data structures and macros
to header files to facilitate this. Rename some to reflect
the transport they are used for (rdma, fd, etc), for clarity.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Message-ID: <20251010214222.1347785-3-sandeen@redhat.com>
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
include/net/9p/client.h
include/net/9p/transport.h
net/9p/client.c
net/9p/trans_fd.c
net/9p/trans_rdma.c

index 4f785098c67a1402a3377c9abb67d2be1bb23d04..2d46f8017bd579f70791021e21e4fb532edc74b0 100644 (file)
 /* Number of requests per row */
 #define P9_ROW_MAXTAG 255
 
+/* DEFAULT MSIZE = 32 pages worth of payload + P9_HDRSZ +
+ * room for write (16 extra) or read (11 extra) operands.
+ */
+
+#define DEFAULT_MSIZE ((128 * 1024) + P9_IOHDRSZ)
+
 /** enum p9_proto_versions - 9P protocol versions
  * @p9_proto_legacy: 9P Legacy mode, pre-9P2000.u
  * @p9_proto_2000u: 9P2000.u extension
index 0aedabc9b7ebe19e2c7273679fc934eff203de03..db6ad369a171f9fae3d7d8917e337670d293736e 100644 (file)
 #define P9_DEF_MIN_RESVPORT    (665U)
 #define P9_DEF_MAX_RESVPORT    (1023U)
 
+#define P9_FD_PORT 564
+
+#define P9_RDMA_PORT           5640
+#define P9_RDMA_SQ_DEPTH       32
+#define P9_RDMA_RQ_DEPTH       32
+#define P9_RDMA_TIMEOUT                30000           /* 30 seconds */
+
+/**
+ * struct p9_fd_opts - per-transport options for fd transport
+ * @rfd: file descriptor for reading (trans=fd)
+ * @wfd: file descriptor for writing (trans=fd)
+ * @port: port to connect to (trans=tcp)
+ * @privport: port is privileged
+ */
+
+struct p9_fd_opts {
+       int rfd;
+       int wfd;
+       u16 port;
+       bool privport;
+};
+
+/**
+ * struct p9_rdma_opts - Collection of mount options for rdma transport
+ * @port: port of connection
+ * @privport: Whether a privileged port may be used
+ * @sq_depth: The requested depth of the SQ. This really doesn't need
+ * to be any deeper than the number of threads used in the client
+ * @rq_depth: The depth of the RQ. Should be greater than or equal to SQ depth
+ * @timeout: Time to wait in msecs for CM events
+ */
+struct p9_rdma_opts {
+       short port;
+       bool privport;
+       int sq_depth;
+       int rq_depth;
+       long timeout;
+};
+
 /**
  * struct p9_trans_module - transport module interface
  * @list: used to maintain a list of currently available transports
index 2a4884c880c1f0a16859a8c18c1d80ad4a829d90..802f548332a5cb13a1d07093c9f3c2456cafebf2 100644 (file)
 #define CREATE_TRACE_POINTS
 #include <trace/events/9p.h>
 
-/* DEFAULT MSIZE = 32 pages worth of payload + P9_HDRSZ +
- * room for write (16 extra) or read (11 extra) operands.
- */
-
-#define DEFAULT_MSIZE ((128 * 1024) + P9_IOHDRSZ)
-
 /* Client Option Parsing (code inspired by NFS code)
  *  - a little lazy - parse all client options
  */
index bd4903d6482710cc3ae9e192fab2fd0d5318ad7a..b7e5933c461736827dd4b9c72b2d4bfd38ace5f2 100644 (file)
 
 #include <linux/syscalls.h> /* killme */
 
-#define P9_PORT 564
 #define MAX_SOCK_BUF (1024*1024)
 #define MAXPOLLWADDR   2
 
 static struct p9_trans_module p9_tcp_trans;
 static struct p9_trans_module p9_fd_trans;
 
-/**
- * struct p9_fd_opts - per-transport options
- * @rfd: file descriptor for reading (trans=fd)
- * @wfd: file descriptor for writing (trans=fd)
- * @port: port to connect to (trans=tcp)
- * @privport: port is privileged
- */
-
-struct p9_fd_opts {
-       int rfd;
-       int wfd;
-       u16 port;
-       bool privport;
-};
-
 /*
   * Option Parsing (code inspired by NFS code)
   *  - a little lazy - parse all fd-transport options
@@ -742,7 +726,7 @@ static int p9_fd_cancelled(struct p9_client *client, struct p9_req_t *req)
 static int p9_fd_show_options(struct seq_file *m, struct p9_client *clnt)
 {
        if (clnt->trans_mod == &p9_tcp_trans) {
-               if (clnt->trans_opts.tcp.port != P9_PORT)
+               if (clnt->trans_opts.tcp.port != P9_FD_PORT)
                        seq_printf(m, ",port=%u", clnt->trans_opts.tcp.port);
        } else if (clnt->trans_mod == &p9_fd_trans) {
                if (clnt->trans_opts.fd.rfd != ~0)
@@ -768,7 +752,7 @@ static int parse_opts(char *params, struct p9_fd_opts *opts)
        int option;
        char *options, *tmp_options;
 
-       opts->port = P9_PORT;
+       opts->port = P9_FD_PORT;
        opts->rfd = ~0;
        opts->wfd = ~0;
        opts->privport = false;
index a0bc766199dadf448b8e048e68b97c646e125435..87246463a954658092c7679b1c829e2e38877333 100644 (file)
 #include <rdma/ib_verbs.h>
 #include <rdma/rdma_cm.h>
 
-#define P9_PORT                        5640
-#define P9_RDMA_SQ_DEPTH       32
-#define P9_RDMA_RQ_DEPTH       32
 #define P9_RDMA_SEND_SGE       4
 #define P9_RDMA_RECV_SGE       4
 #define P9_RDMA_IRD            0
 #define P9_RDMA_ORD            0
-#define P9_RDMA_TIMEOUT                30000           /* 30 seconds */
 #define P9_RDMA_MAXSIZE                (1024*1024)     /* 1MB */
 
 /**
@@ -110,23 +106,6 @@ struct p9_rdma_context {
        };
 };
 
-/**
- * struct p9_rdma_opts - Collection of mount options
- * @port: port of connection
- * @privport: Whether a privileged port may be used
- * @sq_depth: The requested depth of the SQ. This really doesn't need
- * to be any deeper than the number of threads used in the client
- * @rq_depth: The depth of the RQ. Should be greater than or equal to SQ depth
- * @timeout: Time to wait in msecs for CM events
- */
-struct p9_rdma_opts {
-       short port;
-       bool privport;
-       int sq_depth;
-       int rq_depth;
-       long timeout;
-};
-
 /*
  * Option Parsing (code inspired by NFS code)
  */
@@ -151,7 +130,7 @@ static int p9_rdma_show_options(struct seq_file *m, struct p9_client *clnt)
 {
        struct p9_trans_rdma *rdma = clnt->trans;
 
-       if (rdma->port != P9_PORT)
+       if (rdma->port != P9_RDMA_PORT)
                seq_printf(m, ",port=%u", rdma->port);
        if (rdma->sq_depth != P9_RDMA_SQ_DEPTH)
                seq_printf(m, ",sq=%u", rdma->sq_depth);
@@ -178,7 +157,7 @@ static int parse_opts(char *params, struct p9_rdma_opts *opts)
        int option;
        char *options, *tmp_options;
 
-       opts->port = P9_PORT;
+       opts->port = P9_RDMA_PORT;
        opts->sq_depth = P9_RDMA_SQ_DEPTH;
        opts->rq_depth = P9_RDMA_RQ_DEPTH;
        opts->timeout = P9_RDMA_TIMEOUT;