[GIT PULL] 9p fixes for 6.19-rc1

From: Dominique Martinet

Date: Sun Dec 07 2025 - 07:53:10 EST


Hi Linus,

I probably sat too long on Tingmao's O_APPEND fix, but here's this merge
window's batch.
There's another bug open with loopback mount on virtio that probably
will have a fix soon so I'll likely send another PR with just that in
~1-2 weeks.

Thanks!

--------
The following changes since commit 43c36a56ccf6d9b07b4b3f4f614756e687dcdc01:

Revert "fs/9p: Refresh metadata in d_revalidate for uncached mode too" (2025-10-22 14:25:27 +0900)

are available in the Git repository at:

https://github.com/martinetd/linux tags/9p-for-6.19-rc1

for you to fetch changes up to 3e281113f871d7f9c69ca55a4d806a72180b7e8a:

9p: fix new mount API cache option handling (2025-12-05 12:54:05 +0000)

----------------------------------------------------------------
- fix a bug with O_APPEND in cached mode causing data to be written multiple times on server
- use kvmalloc for trans_fd to avoid problems with large msize and fragmented memory
This should hopefully be used in more transports when time allows
- convert to new mount API
- minor cleanups

----------------------------------------------------------------
Dan Carpenter (1):
fs/9p: delete unnnecessary condition

Dominique Martinet (1):
net/9p: cleanup: change p9_trans_module->def to bool

Eric Sandeen (6):
fs/fs_parse: add back fsparam_u32hex
net/9p: move structures and macros to header files
9p: create a v9fs_context structure to hold parsed options
9p: convert to the new mount API
9p: fix cache/debug options printing in v9fs_show_options
9p: fix new mount API cache option handling

Pierre Barre (1):
9p: Use kvmalloc for message buffers on supported transports

Tingmao Wang (1):
fs/9p: Don't open remote file with APPEND mode when writeback cache is used

fs/9p/v9fs.c | 542 +++++++++++++++++++++++++++++++++++++++++++++----------------------------------------
fs/9p/v9fs.h | 7 +-
fs/9p/vfs_dentry.c | 1 -
fs/9p/vfs_file.c | 11 +-
fs/9p/vfs_inode.c | 3 +-
fs/9p/vfs_inode_dotl.c | 2 +-
fs/9p/vfs_super.c | 130 ++++++++++++++-------
include/linux/fs_parser.h | 2 +
include/net/9p/client.h | 98 +++++++++++++++-
include/net/9p/transport.h | 15 ++-
net/9p/client.c | 165 ++++----------------------
net/9p/mod.c | 2 +-
net/9p/trans_fd.c | 136 +++-------------------
net/9p/trans_rdma.c | 134 ++-------------------
net/9p/trans_usbg.c | 5 +-
net/9p/trans_virtio.c | 11 +-
net/9p/trans_xen.c | 7 +-
17 files changed, 573 insertions(+), 698 deletions(-)

--
Dominique Martinet | Asmadeus