fuse2fs: set inode's uid/gid when creating inode

When creating a file in op_create, set the file's uid and gid to the
user's uid and gid.  Do the same in op_mknod.

Reported-by: Lennart Lövstrand <lennart@lovstrand.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
debian
Darrick J. Wong 2015-11-30 18:28:42 -05:00 committed by Theodore Ts'o
parent 94676ef2b3
commit f150bdec8c
1 changed files with 4 additions and 0 deletions

View File

@ -994,6 +994,8 @@ static int op_mknod(const char *path, mode_t mode, dev_t dev)
inode.i_links_count = 1;
inode.i_extra_isize = sizeof(struct ext2_inode_large) -
EXT2_GOOD_OLD_INODE_SIZE;
inode.i_uid = ctxt->uid;
inode.i_gid = ctxt->gid;
err = ext2fs_write_new_inode(fs, child, (struct ext2_inode *)&inode);
if (err) {
@ -2895,6 +2897,8 @@ static int op_create(const char *path, mode_t mode, struct fuse_file_info *fp)
inode.i_links_count = 1;
inode.i_extra_isize = sizeof(struct ext2_inode_large) -
EXT2_GOOD_OLD_INODE_SIZE;
inode.i_uid = ctxt->uid;
inode.i_gid = ctxt->gid;
if (ext2fs_has_feature_extents(fs->super)) {
ext2_extent_handle_t handle;