2010-01-06 23:46:27

by Stephen Hemminger

[permalink] [raw]
Subject: [PATCH] genhd: overlapping variable definition

This fixes the sparse warning:
fs/ext4/super.c:2390:40: warning: symbol 'i' shadows an earlier one
fs/ext4/super.c:2368:22: originally declared here

Using 'i' in a macro is dubious practice.

Signed-off-by: Stephen Hemminger <[email protected]>

--- a/include/linux/genhd.h 2010-01-06 10:49:11.822315232 -0800
+++ b/include/linux/genhd.h 2010-01-06 10:50:02.272939396 -0800
@@ -256,9 +256,9 @@ extern struct hd_struct *disk_map_sector
#define part_stat_read(part, field) \
({ \
typeof((part)->dkstats->field) res = 0; \
- int i; \
- for_each_possible_cpu(i) \
- res += per_cpu_ptr((part)->dkstats, i)->field; \
+ unsigned int _cpu; \
+ for_each_possible_cpu(_cpu) \
+ res += per_cpu_ptr((part)->dkstats, _cpu)->field; \
res; \
})



2010-01-11 13:32:18

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] genhd: overlapping variable definition

On Wed, Jan 06 2010, Stephen Hemminger wrote:
> This fixes the sparse warning:
> fs/ext4/super.c:2390:40: warning: symbol 'i' shadows an earlier one
> fs/ext4/super.c:2368:22: originally declared here
>
> Using 'i' in a macro is dubious practice.

Indeed, applied. Thanks!

--
Jens Axboe