Re: [PATCH v5] erofs: accept source file descriptor via fsconfig

Giuseppe Scrivano <[email protected]> Mon, 03 Aug 2026 14:01:41 +0200
Newsgroups org.ozlabs.lists.linux-erofs,org.kernel.vger.linux-fsdevel
Message-ID <[email protected]>
Chao Yu <[email protected]> writes:

> On 7/29/26 00:05, 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.
>
> Do we need to add an entry to describe the new mount option source= in
> "Mount options" section in erofs.rst?
>
> Thanks,

I've another patch "erofs: reuse superblock for file-backed mounts" that
also touches erofs.rst and it is currently based on top of this version.
I wonder what is your preferred way to handle them.

Will maintainers deal with conflicts or do I need to submit them as a
single series?

Do you prefer a new submission v6 with the following fixup?

diff --git a/Documentation/filesystems/erofs.rst b/Documentation/filesystems/erofs.rst
index c972a869f3e9..49c4e7dbc5d6 100644
--- a/Documentation/filesystems/erofs.rst
+++ b/Documentation/filesystems/erofs.rst
@@ -137,6 +137,8 @@ fsoffset=%llu          Specify block-aligned filesystem offset for the primary d
 inode_share            Enable inode page sharing for this filesystem.  Inodes with
                        identical content within the same domain ID can share the
                        page cache.
+source=%s              (For file-backed mounts) Specify the backing image as a path
+                       or as an already-opened file descriptor.

Thanks,
Giuseppe