From: Steven Luo Date: Thu, 23 Nov 2023 23:33:37 +0000 (-0800) Subject: fuse2fs: respect requested mode in mkdir X-Git-Tag: v1.47.1-rc1~19^2 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=4cfa9f70fb0fb3f42c4d9e79ee2d401d4968e1b0;p=tools%2Fe2fsprogs.git fuse2fs: respect requested mode in mkdir At the moment, op_mkdir() ORs the requested mode with fs->umask, which results in the group/other write permission bits always being cleared regardless of what the creating process requested. Instead, leave the requested mode alone so that the resulting directory has the permssions the creator expects. Signed-off-by: Steven Luo --- diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c index 0dc77ea..0eb2162 100644 --- a/misc/fuse2fs.c +++ b/misc/fuse2fs.c @@ -1129,7 +1129,7 @@ static int op_mkdir(const char *path, mode_t mode) ext2fs_set_i_uid_high(inode, ctxt->uid >> 16); inode.i_gid = ctxt->gid; ext2fs_set_i_gid_high(inode, ctxt->gid >> 16); - inode.i_mode = LINUX_S_IFDIR | (mode & ~(S_ISUID | fs->umask)) | + inode.i_mode = LINUX_S_IFDIR | (mode & ~S_ISUID) | parent_sgid; inode.i_generation = ff->next_generation++;