Skip to content

Commit f7fccaa

Browse files
committed
Merge tag 'fuse-update-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
Pull fuse updates from Miklos Szeredi: - Add support for idmapped fuse mounts (Alexander Mikhalitsyn) - Add optimization when checking for writeback (yangyun) - Add tracepoints (Josef Bacik) - Clean up writeback code (Joanne Koong) - Clean up request queuing (me) - Misc fixes * tag 'fuse-update-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (32 commits) fuse: use exclusive lock when FUSE_I_CACHE_IO_MODE is set fuse: clear FR_PENDING if abort is detected when sending request fs/fuse: convert to use invalid_mnt_idmap fs/mnt_idmapping: introduce an invalid_mnt_idmap fs/fuse: introduce and use fuse_simple_idmap_request() helper fs/fuse: fix null-ptr-deref when checking SB_I_NOIDMAP flag fuse: allow O_PATH fd for FUSE_DEV_IOC_BACKING_OPEN virtio_fs: allow idmapped mounts fuse: allow idmapped mounts fuse: warn if fuse_access is called when idmapped mounts are allowed fuse: handle idmappings properly in ->write_iter() fuse: support idmapped ->rename op fuse: support idmapped ->set_acl fuse: drop idmap argument from __fuse_get_acl fuse: support idmapped ->setattr op fuse: support idmapped ->permission inode op fuse: support idmapped getattr inode op fuse: support idmap for mkdir/mknod/symlink/create/tmpfile fuse: support idmapped FUSE_EXT_GROUPS fuse: add an idmap argument to fuse_simple_request ...
2 parents 4165cee + 2f3d8ff commit f7fccaa

File tree

15 files changed

+552
-297
lines changed

15 files changed

+552
-297
lines changed

fs/fuse/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
# Makefile for the FUSE filesystem.
44
#
55

6+
# Needed for trace events
7+
ccflags-y = -I$(src)
8+
69
obj-$(CONFIG_FUSE_FS) += fuse.o
710
obj-$(CONFIG_CUSE) += cuse.o
811
obj-$(CONFIG_VIRTIO_FS) += virtiofs.o

fs/fuse/acl.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#include <linux/posix_acl_xattr.h>
1313

1414
static struct posix_acl *__fuse_get_acl(struct fuse_conn *fc,
15-
struct mnt_idmap *idmap,
1615
struct inode *inode, int type, bool rcu)
1716
{
1817
int size;
@@ -74,7 +73,7 @@ struct posix_acl *fuse_get_acl(struct mnt_idmap *idmap,
7473
if (fuse_no_acl(fc, inode))
7574
return ERR_PTR(-EOPNOTSUPP);
7675

77-
return __fuse_get_acl(fc, idmap, inode, type, false);
76+
return __fuse_get_acl(fc, inode, type, false);
7877
}
7978

8079
struct posix_acl *fuse_get_inode_acl(struct inode *inode, int type, bool rcu)
@@ -90,8 +89,7 @@ struct posix_acl *fuse_get_inode_acl(struct inode *inode, int type, bool rcu)
9089
*/
9190
if (!fc->posix_acl)
9291
return NULL;
93-
94-
return __fuse_get_acl(fc, &nop_mnt_idmap, inode, type, rcu);
92+
return __fuse_get_acl(fc, inode, type, rcu);
9593
}
9694

9795
int fuse_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
@@ -146,8 +144,8 @@ int fuse_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
146144
* be stripped.
147145
*/
148146
if (fc->posix_acl &&
149-
!in_group_or_capable(&nop_mnt_idmap, inode,
150-
i_gid_into_vfsgid(&nop_mnt_idmap, inode)))
147+
!in_group_or_capable(idmap, inode,
148+
i_gid_into_vfsgid(idmap, inode)))
151149
extra_flags |= FUSE_SETXATTR_ACL_KILL_SGID;
152150

153151
ret = fuse_setxattr(inode, name, value, size, 0, extra_flags);

0 commit comments

Comments
 (0)