Re: [PATCH 18/19] udf: replace inode uid,gid,mode init with helper v3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 18-02-10 22:55:43, Dmitry Monakhov wrote:
> Jan Kara <jack@xxxxxxx> writes:
> 
> >   I think you're still missing to call udf_new_inode with S_IFDIR | mode in
> > this function.
> Ohh, crap... i dont know what am i thinking about. Really sorry for waisting
> your time. Correct patch attached.
  No problem. Thanks for the patch. This time it looks OK so you can add
Acked-by: Jan Kara <jack@xxxxxxx>

  Since the patch depends on the generic patch, I expect you'll merge it
together with it.

									Honza
> 

> From 42ae3fb0a4f1ac3c1b3338a6d3107363c8c40757 Mon Sep 17 00:00:00 2001
> From: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
> Date: Thu, 18 Feb 2010 22:37:09 +0300
> Subject: [PATCH 18/19] udf: replace inode uid,gid,mode init with helper v3
> 
> 
> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
> ---
>  fs/udf/ialloc.c |   11 ++---------
>  fs/udf/namei.c  |   10 ++--------
>  2 files changed, 4 insertions(+), 17 deletions(-)
> 
> diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c
> index c10fa39..52d6e4d 100644
> --- a/fs/udf/ialloc.c
> +++ b/fs/udf/ialloc.c
> @@ -124,15 +124,8 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err)
>  		udf_updated_lvid(sb);
>  	}
>  	mutex_unlock(&sbi->s_alloc_mutex);
> -	inode->i_mode = mode;
> -	inode->i_uid = current_fsuid();
> -	if (dir->i_mode & S_ISGID) {
> -		inode->i_gid = dir->i_gid;
> -		if (S_ISDIR(mode))
> -			mode |= S_ISGID;
> -	} else {
> -		inode->i_gid = current_fsgid();
> -	}
> +
> +	inode_init_owner(inode, dir, mode);
>  
>  	iinfo->i_location.logicalBlockNum = block;
>  	iinfo->i_location.partitionReferenceNum =
> diff --git a/fs/udf/namei.c b/fs/udf/namei.c
> index cd21150..6297432 100644
> --- a/fs/udf/namei.c
> +++ b/fs/udf/namei.c
> @@ -577,7 +577,6 @@ static int udf_create(struct inode *dir, struct dentry *dentry, int mode,
>  		inode->i_data.a_ops = &udf_aops;
>  	inode->i_op = &udf_file_inode_operations;
>  	inode->i_fop = &udf_file_operations;
> -	inode->i_mode = mode;
>  	mark_inode_dirty(inode);
>  
>  	fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
> @@ -623,7 +622,6 @@ static int udf_mknod(struct inode *dir, struct dentry *dentry, int mode,
>  		goto out;
>  
>  	iinfo = UDF_I(inode);
> -	inode->i_uid = current_fsuid();
>  	init_special_inode(inode, mode, rdev);
>  	fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
>  	if (!fi) {
> @@ -668,7 +666,7 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode)
>  		goto out;
>  
>  	err = -EIO;
> -	inode = udf_new_inode(dir, S_IFDIR, &err);
> +	inode = udf_new_inode(dir, S_IFDIR | mode, &err);
>  	if (!inode)
>  		goto out;
>  
> @@ -691,9 +689,6 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode)
>  			FID_FILE_CHAR_DIRECTORY | FID_FILE_CHAR_PARENT;
>  	udf_write_fi(inode, &cfi, fi, &fibh, NULL, NULL);
>  	brelse(fibh.sbh);
> -	inode->i_mode = S_IFDIR | mode;
> -	if (dir->i_mode & S_ISGID)
> -		inode->i_mode |= S_ISGID;
>  	mark_inode_dirty(inode);
>  
>  	fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
> @@ -900,7 +895,7 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
>  	struct udf_inode_info *iinfo;
>  
>  	lock_kernel();
> -	inode = udf_new_inode(dir, S_IFLNK, &err);
> +	inode = udf_new_inode(dir, S_IFLNK | S_IRWXUGO, &err);
>  	if (!inode)
>  		goto out;
>  
> @@ -911,7 +906,6 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
>  	}
>  
>  	iinfo = UDF_I(inode);
> -	inode->i_mode = S_IFLNK | S_IRWXUGO;
>  	inode->i_data.a_ops = &udf_symlink_aops;
>  	inode->i_op = &page_symlink_inode_operations;
>  
> -- 
> 1.6.6
> 

-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux