On 10.07.24 19:28, Stefan Hajnoczi wrote:
On Tue, Jul 09, 2024 at 01:19:16PM +0200, Hanna Czenczek wrote:
Hi,
We want to be able to mount filesystems that just consist of one regular
file via virtio-fs, i.e. no root directory, just a file as the root
node.
While that is possible via FUSE itself (through the 'rootmode' mount
option, which is automatically set by the fusermount help program to
match the mount point's inode mode), there is no virtio-fs option yet
that would allow changing the rootmode from S_IFDIR to S_IFREG.
To do that, this series introduces a new 'file' mount option that does
precisely that. Alternatively, we could provide the same 'rootmode'
option that FUSE has, but as laid out in patch 1's commit description,
that option is a bit cumbersome for virtio-fs (in a way that it is not
for FUSE), and its usefulness as a more general option is limited.
Hanna Czenczek (2):
virtio-fs: Add 'file' mount option
virtio-fs: Document 'file' mount option
fs/fuse/virtio_fs.c | 9 ++++++++-
Documentation/filesystems/virtiofs.rst | 5 ++++-
2 files changed, 12 insertions(+), 2 deletions(-)
--
2.45.1
Looks good to me. Maybe add the 'file' option to FUSE as well to keep
them in sync (eventually rootmode could be exposed to virtiofs too, if
necessary)?
I don’t think this option makes much sense for FUSE, like Josef has
said; it would just duplicate a subset of 'rootmode', and because FUSE
filesystems are rarely mounted by hand, I don’t think anyone would ever
use it.
If it were important to keep them in sync, I’d rather have virtio-fs
provide 'rootmode' instead. Personally, I don’t think it’s that
important, and I’d rather have a simple '-o file' instead of '-o
rootmode=0100000' (hope I counted the 0s right) for a filesystem that is
actually not rarely mounted by hand.
If we ever do find out that we want to support other root modes than
S_IFREG and S_IFDIR, we will probably want 'rootmode' for virtio-fs,
too, yes. But I can’t see that right now.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Thanks!
Hanna