diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2024-02-12 19:11:48 -0500 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2024-02-23 09:40:26 +0100 |
commit | a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9 (patch) | |
tree | 59e108ad413c9f6663fcf3b4dc2ddd60c03f985d /fs/fuse/dev.c | |
parent | 40488cc16f7ea0d193a4e248f0d809c25cc377db (diff) | |
download | linux-stable-a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9.tar.gz linux-stable-a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9.tar.bz2 linux-stable-a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9.zip |
virtiofs: export filesystem tags through sysfs
The virtiofs filesystem is mounted using a "tag" which is exported by
the virtiofs device:
# mount -t virtiofs <tag> /mnt
The virtiofs driver knows about all the available tags but these are
currently not exported to user space.
People have asked for these tags to be exported to user space. Most
recently Lennart Poettering has asked for it as he wants to scan the
tags and mount virtiofs automatically in certain cases.
https://gitlab.com/virtio-fs/virtiofsd/-/issues/128
This patch exports tags at /sys/fs/virtiofs/<N>/tag where N is the id of
the virtiofs device. The filesystem tag can be obtained by reading this
"tag" file.
There is also a symlink at /sys/fs/virtiofs/<N>/device that points to
the virtiofs device that exports this tag.
This patch converts the existing struct virtio_fs into a full kobject.
It already had a refcount so it's an easy change. The virtio_fs objects
can then be exposed in a kset at /sys/fs/virtiofs/. Note that virtio_fs
objects may live slightly longer than we wish for them to be exposed to
userspace, so kobject_del() is called explicitly when the underlying
virtio_device is removed. The virtio_fs object is freed when all
references are dropped (e.g. active mounts) but disappears as soon as
the virtiofs device is gone.
Originally-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse/dev.c')
0 files changed, 0 insertions, 0 deletions