Hi all, Today's linux-next merge of the vfs-brauner tree got conflicts in: fs/fuse/inode.c include/uapi/linux/fuse.h between commit: 5fb9c98e9d8d ("fuse: add support for no forget requests") from the fuse tree and commits: d2c5937035e5 ("fs/fuse: add FUSE_OWNER_UID_GID_EXT extension") 9aace2eda1bd ("fs/fuse: allow idmapped mounts") from the vfs-brauner tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc fs/fuse/inode.c index ef9c35c6210b,b840189ac8be..000000000000 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@@ -1347,8 -1343,14 +1347,16 @@@ static void process_init_reply(struct f } if (flags & FUSE_NO_EXPORT_SUPPORT) fm->sb->s_export_op = &fuse_export_fid_operations; + if (flags & FUSE_NO_FORGET) + fc->no_forget = 1; + if (flags & FUSE_OWNER_UID_GID_EXT) + fc->owner_uid_gid_ext = 1; + if (flags & FUSE_ALLOW_IDMAP) { + if (fc->owner_uid_gid_ext && fc->default_permissions) + fm->sb->s_iflags &= ~SB_I_NOIDMAP; + else + ok = false; + } } else { ra_pages = fc->max_read / PAGE_SIZE; fc->no_lock = 1; @@@ -1396,7 -1398,8 +1404,8 @@@ void fuse_send_init(struct fuse_mount * FUSE_HANDLE_KILLPRIV_V2 | FUSE_SETXATTR_EXT | FUSE_INIT_EXT | FUSE_SECURITY_CTX | FUSE_CREATE_SUPP_GROUP | FUSE_HAS_EXPIRE_ONLY | FUSE_DIRECT_IO_ALLOW_MMAP | - FUSE_NO_EXPORT_SUPPORT | FUSE_HAS_RESEND | FUSE_NO_FORGET; - FUSE_NO_EXPORT_SUPPORT | FUSE_HAS_RESEND | FUSE_OWNER_UID_GID_EXT | - FUSE_ALLOW_IDMAP; ++ FUSE_NO_EXPORT_SUPPORT | FUSE_HAS_RESEND | FUSE_NO_FORGET | ++ FUSE_OWNER_UID_GID_EXT | FUSE_ALLOW_IDMAP; #ifdef CONFIG_FUSE_DAX if (fm->fc->dax) flags |= FUSE_MAP_ALIGNMENT; diff --cc include/uapi/linux/fuse.h index d7be14947152,b23e8247ce43..000000000000 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h @@@ -217,7 -217,11 +217,12 @@@ * - add backing_id to fuse_open_out, add FOPEN_PASSTHROUGH open flag * - add FUSE_NO_EXPORT_SUPPORT init flag * - add FUSE_NOTIFY_RESEND, add FUSE_HAS_RESEND init flag + * - add FUSE_NO_FORGET init flag + * + * 7.41 + * - add FUSE_EXT_OWNER_UID_GID + * - add FUSE_OWNER_UID_GID_EXT + * - add FUSE_ALLOW_IDMAP */ #ifndef _LINUX_FUSE_H @@@ -422,7 -426,9 +427,10 @@@ struct fuse_file_lock * FUSE_NO_EXPORT_SUPPORT: explicitly disable export support * FUSE_HAS_RESEND: kernel supports resending pending requests, and the high bit * of the request ID indicates resend requests + * FUSE_NO_FORGET: disable forget requests + * FUSE_OWNER_UID_GID_EXT: add inode owner UID/GID info to create, mkdir, + * symlink and mknod + * FUSE_ALLOW_IDMAP: allow creation of idmapped mounts */ #define FUSE_ASYNC_READ (1 << 0) #define FUSE_POSIX_LOCKS (1 << 1)
Attachment:
pgpLGjSMRAubU.pgp
Description: OpenPGP digital signature