linux/fs/fuse
Alexander Mikhalitsyn 16e1503eaf fuse: allow idmapped mounts
Now we have everything in place and we can allow idmapped mounts
by setting the FS_ALLOW_IDMAP flag. Notice that real availability
of idmapped mounts will depend on the fuse daemon. Fuse daemon
have to set FUSE_ALLOW_IDMAP flag in the FUSE_INIT reply.

To discuss:
- we enable idmapped mounts support only if "default_permissions" mode is
enabled, because otherwise we would need to deal with UID/GID mappings in
the userspace side OR provide the userspace with idmapped
req->in.h.uid/req->in.h.gid values which is not something that we probably
want to. Idmapped mounts philosophy is not about faking caller uid/gid.

Some extra links and examples:

- libfuse support
https://github.com/mihalicyn/libfuse/commits/idmap_support

- fuse-overlayfs support:
https://github.com/mihalicyn/fuse-overlayfs/commits/idmap_support

- cephfs-fuse conversion example
https://github.com/mihalicyn/ceph/commits/fuse_idmap

- glusterfs conversion example
https://github.com/mihalicyn/glusterfs/commits/fuse_idmap

Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2024-09-04 16:51:11 +02:00
..
acl.c fuse: support idmapped ->set_acl 2024-09-04 16:51:11 +02:00
control.c fuse: remove unneeded lock which protecting update of congestion_threshold 2024-03-06 11:07:51 +01:00
cuse.c cuse: add kernel-doc comments to cuse_process_init_reply() 2024-04-15 11:02:10 +02:00
dax.c fuse: add an idmap argument to fuse_simple_request 2024-09-04 16:48:22 +02:00
dev.c fuse: add an idmap argument to fuse_simple_request 2024-09-04 16:48:22 +02:00
dir.c fuse: warn if fuse_access is called when idmapped mounts are allowed 2024-09-04 16:51:11 +02:00
file.c fuse: handle idmappings properly in ->write_iter() 2024-09-04 16:51:11 +02:00
fuse_i.h fuse: support idmapped ->setattr op 2024-09-04 16:51:06 +02:00
fuse_trace.h fuse: add simple request tracepoints 2024-08-29 11:43:13 +02:00
inode.c fuse: allow idmapped mounts 2024-09-04 16:51:11 +02:00
ioctl.c fuse: add an idmap argument to fuse_simple_request 2024-09-04 16:48:22 +02:00
iomode.c fuse: fix parallel dio write on file open in passthrough mode 2024-04-15 10:12:44 +02:00
Kconfig fuse: introduce FUSE_PASSTHROUGH capability 2024-02-23 17:36:32 +01:00
Makefile fuse: add simple request tracepoints 2024-08-29 11:43:13 +02:00
passthrough.c fuse: verify zero padding in fuse_backing_map 2024-04-22 17:13:43 +02:00
readdir.c fuse: add an idmap argument to fuse_simple_request 2024-09-04 16:48:22 +02:00
virtio_fs.c fuse: cleanup request queuing towards virtiofs 2024-08-29 11:43:12 +02:00
xattr.c fuse: add an idmap argument to fuse_simple_request 2024-09-04 16:48:22 +02:00