diff options
author | Christian Schoenebeck <linux_oss@crudebyte.com> | 2022-11-22 20:20:22 +0100 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2022-12-05 23:30:55 +0100 |
commit | 8e4c2eee1e15c1206c26f6b28b05fe9711a427c6 (patch) | |
tree | 1a31c7e069db25fc2cb009d2283365ef2992529b /include | |
parent | 9p/xen: do not memcpy header into req->rc (diff) | |
download | linux-8e4c2eee1e15c1206c26f6b28b05fe9711a427c6.tar.xz linux-8e4c2eee1e15c1206c26f6b28b05fe9711a427c6.zip |
net/9p: distinguish zero-copy requests
Add boolean `zc` member to struct p9_fcall to distinguish zero-copy
messages (not using the linear `sdata` buffer for message payload) from
regular messages (which do copy message payload to `sdata` before being
further processed).
This new member is appended to end of structure to avoid inserting huge
padding in generated layout.
Link: https://lkml.kernel.org/r/8f2a5c12a446c3b544da64e0b1550e1fb2d6f972.1669144861.git.linux_oss@crudebyte.com
Signed-off-by: Christian Schoenebeck <linux_oss@crudebyte.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/9p/9p.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index 13abe013af21..429adf6be29c 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h @@ -531,6 +531,7 @@ struct p9_rstatfs { * @offset: used by marshalling routines to track current position in buffer * @capacity: used by marshalling routines to track total malloc'd capacity * @sdata: payload + * @zc: whether zero-copy is used * * &p9_fcall represents the structure for all 9P RPC * transactions. Requests are packaged into fcalls, and reponses @@ -549,6 +550,7 @@ struct p9_fcall { struct kmem_cache *cache; u8 *sdata; + bool zc; }; int p9_errstr2errno(char *errstr, int len); |