Re: [PATCH] misc: fix create_inode warnings with LLVM

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

 



On Tue, 20 May 2014, Andreas Dilger wrote:

> Date: Tue, 20 May 2014 17:12:22 -0600
> From: Andreas Dilger <adilger@xxxxxxxxx>
> To: tytso@xxxxxxx
> Cc: linux-ext4@xxxxxxxxxxxxxxx, Andreas Dilger <adilger@xxxxxxxxx>
> Subject: [PATCH] misc: fix create_inode warnings with LLVM
> 
> Fix name clash in do_mknod_internal() due to local variables named
> "major" and "minor" shadowing identical macro names.
> 
> Also, no need to set the major and minor device for a FIFO inode.
> 
> Signed-off-by: Andreas Dilger <adilger@xxxxxxxxx>

Looks good, thanks!

Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx>


> ---
>  misc/create_inode.c | 26 ++++++++++++++------------
>  1 file changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/misc/create_inode.c b/misc/create_inode.c
> index 964c66a..1d666c7 100644
> --- a/misc/create_inode.c
> +++ b/misc/create_inode.c
> @@ -96,9 +96,9 @@ errcode_t do_mknod_internal(ext2_filsys fs, ext2_ino_t cwd, const char *name,
>  			    struct stat *st)
>  {
>  	ext2_ino_t		ino;
> -	errcode_t 		retval;
> +	errcode_t		retval;
>  	struct ext2_inode	inode;
> -	unsigned long		major, minor, mode;
> +	unsigned long		devmajor, devminor, mode;
>  	int			filetype;
>  
>  	switch(st->st_mode & S_IFMT) {
> @@ -153,16 +153,18 @@ errcode_t do_mknod_internal(ext2_filsys fs, ext2_ino_t cwd, const char *name,
>  	inode.i_atime = inode.i_ctime = inode.i_mtime =
>  		fs->now ? fs->now : time(0);
>  
> -	major = major(st->st_rdev);
> -	minor = minor(st->st_rdev);
> -
> -	if ((major < 256) && (minor < 256)) {
> -		inode.i_block[0] = major * 256 + minor;
> -		inode.i_block[1] = 0;
> -	} else {
> -		inode.i_block[0] = 0;
> -		inode.i_block[1] = (minor & 0xff) | (major << 8) |
> -				   ((minor & ~0xff) << 12);
> +	if (filetype != S_IFIFO) {
> +		devmajor = major(st->st_rdev);
> +		devminor = minor(st->st_rdev);
> +
> +		if ((devmajor < 256) && (devminor < 256)) {
> +			inode.i_block[0] = devmajor * 256 + devminor;
> +			inode.i_block[1] = 0;
> +		} else {
> +			inode.i_block[0] = 0;
> +			inode.i_block[1] = (devminor & 0xff) | (devmajor << 8) |
> +					   ((devminor & ~0xff) << 12);
> +		}
>  	}
>  	inode.i_links_count = 1;
>  
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux