<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/9p/trans_rdma.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-11-03T07:49:53Z</updated>
<entry>
<title>9p: convert to the new mount API</title>
<updated>2025-11-03T07:49:53Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2025-10-10T21:36:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f3e4142c0eb178089ea0cbc97506a061470ad27'/>
<id>urn:sha1:1f3e4142c0eb178089ea0cbc97506a061470ad27</id>
<content type='text'>
Convert 9p to the new mount API. This patch consolidates all parsing
into fs/9p/v9fs.c, which stores all results into a filesystem context
which can be passed to the various transports as needed.

Some of the parsing helper functions such as get_cache_mode() have been
eliminated in favor of using the new mount API's enum param type,
for simplicity.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Message-ID: &lt;20251010214222.1347785-5-sandeen@redhat.com&gt;
[ Dominique: handled source explicitly as per follow-up discussion ]
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>net/9p: move structures and macros to header files</title>
<updated>2025-11-03T07:49:53Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2025-10-10T21:36:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c44393d84149d6fc91d94fa39321c9657e91b388'/>
<id>urn:sha1:c44393d84149d6fc91d94fa39321c9657e91b388</id>
<content type='text'>
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 &lt;sandeen@redhat.com&gt;
Message-ID: &lt;20251010214222.1347785-3-sandeen@redhat.com&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>net/9p: cleanup: change p9_trans_module-&gt;def to bool</title>
<updated>2025-11-03T07:49:29Z</updated>
<author>
<name>Dominique Martinet</name>
</author>
<published>2025-10-31T07:40:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eeaf38a798aff6384983e5a0ac464d146de7ff55'/>
<id>urn:sha1:eeaf38a798aff6384983e5a0ac464d146de7ff55</id>
<content type='text'>
'-&gt;def' is only ever used as a true/false flag

Reported-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Message-ID: &lt;20251103-v9fs_trans_def_bool-v1-1-f33dc7ed9e81@codewreck.org&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>9p: Use kvmalloc for message buffers on supported transports</title>
<updated>2025-11-03T07:41:24Z</updated>
<author>
<name>Pierre Barre</name>
</author>
<published>2025-10-16T13:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e21d451a82f39e91b7635c4fc3ff5ac082873ec3'/>
<id>urn:sha1:e21d451a82f39e91b7635c4fc3ff5ac082873ec3</id>
<content type='text'>
While developing a 9P server (https://github.com/Barre/ZeroFS) and
testing it under high-load, I was running into allocation failures.
The failures occur even with plenty of free memory available because
kmalloc requires contiguous physical memory.

This results in errors like:
ls: page allocation failure: order:7, mode:0x40c40(GFP_NOFS|__GFP_COMP)

This patch introduces a transport capability flag (supports_vmalloc)
that indicates whether a transport can work with vmalloc'd buffers
(non-physically contiguous memory). Transports requiring DMA should
leave this flag as false.

The fd-based transports (tcp, unix, fd) set this flag to true, and
p9_fcall_init will use kvmalloc instead of kmalloc for these
transports. This allows the allocator to fall back to vmalloc when
contiguous physical memory is not available.

Additionally, if kmem_cache_alloc fails, the code falls back to
kvmalloc for transports that support it.

Signed-off-by: Pierre Barre &lt;pierre@barre.sh&gt;
Reviewed-by: Christian Schoenebeck &lt;linux_oss@crudebyte.com&gt;
Message-ID: &lt;d2017c29-11fb-44a5-bd0f-4204329bbefb@app.fastmail.com&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()</title>
<updated>2023-02-24T13:42:28Z</updated>
<author>
<name>Zhengchao Shao</name>
</author>
<published>2023-01-04T02:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74a25e6e916cb57dab4267a96fbe8864ed21abdb'/>
<id>urn:sha1:74a25e6e916cb57dab4267a96fbe8864ed21abdb</id>
<content type='text'>
When down_interruptible() or ib_post_send() failed in rdma_request(),
receive dma buffer is not unmapped. Add unmap action to error path.
Also if ib_post_recv() failed in post_recv(), dma buffer is not unmapped.
Add unmap action to error path.

Link: https://lkml.kernel.org/r/20230104020424.611926-1-shaozhengchao@huawei.com
Fixes: fc79d4b104f0 ("9p: rdma: RDMA Transport Support for 9P")
Signed-off-by: Zhengchao Shao &lt;shaozhengchao@huawei.com&gt;
Reviewed-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@kernel.org&gt;
</content>
</entry>
<entry>
<title>9p/client: fix data race on req-&gt;status</title>
<updated>2022-12-13T04:02:15Z</updated>
<author>
<name>Dominique Martinet</name>
</author>
<published>2022-12-05T12:39:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a4f69ef15ec29b213e2b086b2502644e8ef76ee'/>
<id>urn:sha1:1a4f69ef15ec29b213e2b086b2502644e8ef76ee</id>
<content type='text'>
KCSAN reported a race between writing req-&gt;status in p9_client_cb and
accessing it in p9_client_rpc's wait_event.

Accesses to req itself is protected by the data barrier (writing req
fields, write barrier, writing status // reading status, read barrier,
reading other req fields), but status accesses themselves apparently
also must be annotated properly with WRITE_ONCE/READ_ONCE when we
access it without locks.

Follows:
 - error paths writing status in various threads all can notify
p9_client_rpc, so these all also need WRITE_ONCE
 - there's a similar read loop in trans_virtio for zc case that also
needs READ_ONCE
 - other reads in trans_fd should be protected by the trans_fd lock and
lists state machine, as corresponding writers all are within trans_fd
and should be under the same lock. If KCSAN complains on them we likely
will have something else to fix as well, so it's better to leave them
unmarked and look again if required.

Link: https://lkml.kernel.org/r/20221205124756.426350-1-asmadeus@codewreck.org
Reported-by: Naresh Kamboju &lt;naresh.kamboju@linaro.org&gt;
Suggested-by: Marco Elver &lt;elver@google.com&gt;
Acked-by: Marco Elver &lt;elver@google.com&gt;
Reviewed-by: Christian Schoenebeck &lt;linux_oss@crudebyte.com&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>9p/net: Remove unneeded idr.h #include</title>
<updated>2022-12-02T14:59:20Z</updated>
<author>
<name>Christophe JAILLET</name>
</author>
<published>2022-11-27T14:46:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31fff92c9cadbca4cd294bcdff285ca3fc9bad7c'/>
<id>urn:sha1:31fff92c9cadbca4cd294bcdff285ca3fc9bad7c</id>
<content type='text'>
The 9p net files don't use IDR or IDA functionalities. So there is no point
in including &lt;linux/idr.h&gt;.
Remove it.

Link: https://lkml.kernel.org/r/9e386018601d7e4a9e5d7da8fc3e9555ebb25c87.1669560387.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Reviewed-by: Christian Schoenebeck &lt;linux_oss@crudebyte.com&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>net/9p: add 'pooled_rbuffers' flag to struct p9_trans_module</title>
<updated>2022-10-04T22:05:41Z</updated>
<author>
<name>Christian Schoenebeck</name>
</author>
<published>2022-07-15T21:33:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01d205d936ae18532e14814808592b926aacc6d5'/>
<id>urn:sha1:01d205d936ae18532e14814808592b926aacc6d5</id>
<content type='text'>
This is a preparatory change for the subsequent patch: the RDMA
transport pulls the buffers for its 9p response messages from a
shared pool. [1] So this case has to be considered when choosing
an appropriate response message size in the subsequent patch.

Link: https://lore.kernel.org/all/Ys3jjg52EIyITPua@codewreck.org/ [1]
Link: https://lkml.kernel.org/r/79d24310226bc4eb037892b5c097ec4ad4819a03.1657920926.git.linux_oss@crudebyte.com
Signed-off-by: Christian Schoenebeck &lt;linux_oss@crudebyte.com&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>9p: Add client parameter to p9_req_put()</title>
<updated>2022-07-09T05:38:35Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2022-07-04T01:08:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b11ff098af42b1fa57fc817daadd53c8b244a0c'/>
<id>urn:sha1:8b11ff098af42b1fa57fc817daadd53c8b244a0c</id>
<content type='text'>
This is to aid in adding mempools, in the next patch.

Link: https://lkml.kernel.org/r/20220704014243.153050-2-kent.overstreet@gmail.com
Signed-off-by: Kent Overstreet &lt;kent.overstreet@gmail.com&gt;
Cc: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
Cc: Latchesar Ionkov &lt;lucho@ionkov.net&gt;
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
<entry>
<title>9p: fix file headers</title>
<updated>2021-11-03T08:45:04Z</updated>
<author>
<name>Dominique Martinet</name>
</author>
<published>2021-11-02T13:12:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=024b7d6a435a450819f112690052f2923fa5ffdd'/>
<id>urn:sha1:024b7d6a435a450819f112690052f2923fa5ffdd</id>
<content type='text'>
- add missing SPDX-License-Identifier
- remove (sometimes incorrect) file name from file header

Link: http://lkml.kernel.org/r/20211102134608.1588018-2-dominique.martinet@atmark-techno.com
Signed-off-by: Dominique Martinet &lt;asmadeus@codewreck.org&gt;
</content>
</entry>
</feed>
