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