Re: [PATCH v5] erofs: accept source file descriptor via fsconfig
Jan Kara <[email protected]> Wed, 29 Jul 2026 11:57:25 +0200
| Newsgroups | org.ozlabs.lists.linux-erofs,org.kernel.vger.linux-fsdevel |
|---|---|
| Message-ID | <7kgp355d25csimg5txuxhp33zmc5onxpyxdtkarmun62rblp7j@etbql27573dl> |
On Wed 29-07-26 09:40:50, Gao Xiang wrote: > On Tue, Jul 28, 2026 at 06:05:32PM +0200, Giuseppe Scrivano wrote: > > Allow userspace to pass an already-opened file descriptor as the mount > > source instead of a path string. This is useful for tools that already > > hold an fd to the image, such as composefs reusing an existing erofs > > backing file. > > > > Signed-off-by: Giuseppe Scrivano <[email protected]> > > --- > > v4: https://lore.kernel.org/linux-fsdevel/[email protected]/ > > v3: https://lore.kernel.org/linux-fsdevel/[email protected]/ > > v2: https://lore.kernel.org/linux-fsdevel/[email protected]/ > > v1: https://lore.kernel.org/linux-fsdevel/ak5GfvVfWLJU1EwK@debian/ > > > > Documentation/filesystems/erofs.rst | 15 ++++++ > > fs/erofs/super.c | 73 ++++++++++++++++++++++++----- > > 2 files changed, 77 insertions(+), 11 deletions(-) > > > > diff --git a/Documentation/filesystems/erofs.rst b/Documentation/filesystems/erofs.rst > > index 4230884fb359..774e8b236d09 100644 > > --- a/Documentation/filesystems/erofs.rst > > +++ b/Documentation/filesystems/erofs.rst > > @@ -139,6 +139,21 @@ inode_share Enable inode page sharing for this filesystem. Inodes wi > > page cache. > > =================== ========================================================= > > > > +File-backed mounts > > +================== > > + > > +When CONFIG_EROFS_FS_BACKED_BY_FILE is enabled, EROFS file-backed images > > +can be mounted directly without a loopback block device. The backing file > > +can be given either as a path, or as an already-opened file descriptor. > > + > > +When a file descriptor is used, the kernel resolves its path and records it > > +so that /proc/mounts and similar interfaces can still report the mount > > +source. > > + > > +Only regular files are accepted as backing files; to mount an image that > > +resides on a block device, use the traditional block device mount path > > +instead. > > Reviewed-by: Gao Xiang <[email protected]> > > Hi Christian, Jan, could you ack this (`fc->source` filling when > `source_fd` is used) if possible? Whenever I see a use of d_path() (or file_path() in this case) I'm a bit watchful because its result is inherently racy and unsafe. But in this case the result is only used for alloc_vfsmnt() which uses it for mnt_devname so in the worst case we'll get an unreliable path in /proc/mounts or similar. I guess that's acceptable. So feel free to add: Acked-by: Jan Kara <[email protected]> Honza -- Jan Kara <[email protected]> SUSE Labs, CR