From: Dominique Martinet <asmadeus@codewreck.org>
To: Tingmao Wang <m@maowtm.org>
Cc: "Greg Kurz" <groug@kaod.org>,
"Christian Schoenebeck" <linux_oss@crudebyte.com>,
"Mickaël Salaün" <mic@digikod.net>,
qemu-devel@nongnu.org, "Eric Van Hensbergen" <ericvh@kernel.org>,
"Latchesar Ionkov" <lucho@ionkov.net>,
v9fs@lists.linux.dev, "Günther Noack" <gnoack@google.com>,
linux-security-module@vger.kernel.org, "Jan Kara" <jack@suse.cz>,
"Amir Goldstein" <amir73il@gmail.com>,
"Matthew Bobrowski" <repnop@google.com>,
"Al Viro" <viro@zeniv.linux.org.uk>,
"Christian Brauner" <brauner@kernel.org>,
linux-fsdevel@vger.kernel.org,
"Justin Suess" <utilityemal77@gmail.com>
Subject: Re: [PATCH v2 0/7] fs/9p: Reuse inode based on path (in addition to qid)
Date: Mon, 14 Sep 2026 01:30:09 +0900 [thread overview]
Message-ID: <aqbPkWJBrphVwOKW@codewreck.org> (raw)
In-Reply-To: <15ccd30e-e5f2-4612-b0ac-e495748732e6@maowtm.org>
Tingmao Wang wrote on Tue, Jul 14, 2026 at 02:14:00AM +0100:
> Does anyone have preferences / suggestions on whether to keep going with
> the path-tracking based approach (perhaps subject to figuring out a way to
> handle parent renames), or an approach where Landlock simply stores the
> fhandle (or (i_ino, i_generation (but this is u32 whereas st_gen within 9p
> is u64))) as the rule key?
st_gen comes from FS_IOC_GETVERSION which is exactly i_generation on at
least ext4/btrfs/xfs, so it's not like that brings you anything
(and it's also stored in the 9p inode's i_generation afaics?)
My understanding is that if the underlying filesystem supports it then
yes mountpoint + i_ino + i_generation ought to be unique when combined
together, but that leaves you with what to do with filesystems that
don't support it (at least tmpfs?) and 9p mounts sharing multiple
filesystems (even if qemu has been warning about it for a while and that
brings its own share of bugs around cache)
If you're fine not supporting them, I think that definitely looks more
promising, but otherwise you don't have much choice
Either way I'm afraid I don't have time to look much into it (I'm afraid
I have to admit I didn't read your full mail, and I have to get up in 4
hours so I should probably stop processing this 9p backlog...), and it
doesn't look like Greg is much more reactive, so you're on your own and
I'm really sorry about it :/
I wish you best though!
> If I find some time over the next couple of weeks I will try out the
> second approach since it might be turning out to be the simpler option,
> but the drawback is that it doesn't enable i/fanotify on 9pfs, which I
> originally hoped to achieve together with fixing Landlock on 9pfs.
(inotify/fanotify would need a protocol overhaul to get "right" and is a
much bigger can of works, because if you get it to work locally then
you'll get people to expect the server to notify clients of remote
changes (some network filesystems can do it with leases, but 9p doesn't
have any such mechanism);
I can understand it is useful even if it only works within the client
local changes but I'm not sure I want to push much here either.)
--
Domnique
next prev parent reply other threads:[~2026-09-13 16:30 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-04 0:04 [PATCH v2 0/7] fs/9p: Reuse inode based on path (in addition to qid) Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 1/7] fs/9p: Add ability to identify inode by path for .L in uncached mode Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 2/7] fs/9p: add option for path-based inodes Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 3/7] fs/9p: Add ability to identify inode by path for non-.L in uncached mode Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 4/7] fs/9p: .L: Refresh stale inodes on reuse Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 5/7] fs/9p: non-.L: " Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 6/7] fs/9p: update the target's ino_path on rename Tingmao Wang
2025-09-04 0:04 ` [PATCH v2 7/7] docs: fs/9p: Document the "inodeident" option Tingmao Wang
2025-09-14 21:25 ` [PATCH v2 0/7] fs/9p: Reuse inode based on path (in addition to qid) Tingmao Wang
2025-09-15 12:53 ` Dominique Martinet
2025-09-15 13:44 ` Tingmao Wang
2025-09-15 23:31 ` Dominique Martinet
2025-09-16 12:44 ` Tingmao Wang
2025-09-16 13:35 ` Dominique Martinet
2025-09-16 14:01 ` Tingmao Wang
2025-09-16 19:22 ` Christian Schoenebeck
2025-09-16 23:59 ` Tingmao Wang
2025-09-17 9:52 ` Christian Schoenebeck
2025-09-17 15:00 ` Mickaël Salaün
2025-09-21 16:24 ` Tingmao Wang
2025-09-27 18:27 ` Mickaël Salaün
2025-09-27 22:53 ` Tingmao Wang
2025-09-29 13:06 ` Christian Schoenebeck
2025-10-13 9:24 ` Greg Kurz
2026-07-14 1:14 ` Tingmao Wang
2026-09-13 16:30 ` Dominique Martinet [this message]
2025-09-16 13:43 ` Christian Schoenebeck
2025-09-15 14:10 ` Christian Schoenebeck
2025-09-17 15:00 ` Mickaël Salaün
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aqbPkWJBrphVwOKW@codewreck.org \
--to=asmadeus@codewreck.org \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=ericvh@kernel.org \
--cc=gnoack@google.com \
--cc=groug@kaod.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux_oss@crudebyte.com \
--cc=lucho@ionkov.net \
--cc=m@maowtm.org \
--cc=mic@digikod.net \
--cc=qemu-devel@nongnu.org \
--cc=repnop@google.com \
--cc=utilityemal77@gmail.com \
--cc=v9fs@lists.linux.dev \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox