diff mbox

misc: fix create_inode warnings with LLVM

Message ID 1400627542-75060-1-git-send-email-adilger@dilger.ca
State Accepted, archived
Headers show

Commit Message

Andreas Dilger May 20, 2014, 11:12 p.m. UTC
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@dilger.ca>
---
 misc/create_inode.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

Comments

Lukas Czerner May 27, 2014, 4:34 p.m. UTC | #1
On Tue, 20 May 2014, Andreas Dilger wrote:

> Date: Tue, 20 May 2014 17:12:22 -0600
> From: Andreas Dilger <adilger@dilger.ca>
> To: tytso@mit.edu
> Cc: linux-ext4@vger.kernel.org, Andreas Dilger <adilger@dilger.ca>
> 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@dilger.ca>

Looks good, thanks!

Reviewed-by: Lukas Czerner <lczerner@redhat.com>


> ---
>  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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Theodore Ts'o May 27, 2014, 4:51 p.m. UTC | #2
On Tue, May 27, 2014 at 06:34:52PM +0200, Lukáš Czerner wrote:
> On Tue, 20 May 2014, Andreas Dilger wrote:
> 
> > Date: Tue, 20 May 2014 17:12:22 -0600
> > From: Andreas Dilger <adilger@dilger.ca>
> > To: tytso@mit.edu
> > Cc: linux-ext4@vger.kernel.org, Andreas Dilger <adilger@dilger.ca>
> > 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@dilger.ca>
> 
> Looks good, thanks!
> 
> Reviewed-by: Lukas Czerner <lczerner@redhat.com>

Applied, thanks.

				- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;