Messages in this thread | | | Date | Tue, 29 Mar 2011 08:34:02 +0200 | From | Jens Axboe <> | Subject | Re: [GIT PULL] block drivers for 2.6.39-rc |
| |
On 2011-03-29 01:06, Linus Torvalds wrote: > On Sat, Mar 26, 2011 at 11:56 AM, Jens Axboe <jaxboe@fusionio.com> wrote: >> Hi Linus, >> >> This is the pull request for the block driver updates for 2.6.39. Two >> things here: >> >> - Big drbd update, as per usual... >> - cciss update. > > Btw, that cciss thing causes a very annoying compiler warning: > > drivers/block/cciss.c: In function ‘dev_show_unique_id’: > drivers/block/cciss.c:617:7: warning: ‘sn[0]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[1]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[2]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[3]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[4]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[5]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[6]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[7]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[8]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[9]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[10]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[11]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[12]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[13]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[14]’ may be used > uninitialized in this function > drivers/block/cciss.c:617:7: warning: ‘sn[15]’ may be used > uninitialized in this function > > which is because the compiler doesn't really notice that those things > are only used if the error return isn't being set. > > So it's a compiler mis-feature, but the thing is, the warning could > easily be avoided by just writing the code more prettily. > > Just do the memcpy() unconditionally: we know that 'drv' is a valid > pointer (we just loaded 'h' off it), and we're talking about a nice > constant 16-byte copy. > > IOW, a patch something like the attached. > > Untested, but it looks really obvious. Hmm?
Looks good to me. I'm curious, you get a warning in dev_show_unique_id() but not in dev_show_vendor() or any of the other following 4-5 functions written in the same style?
My gcc here does not warn for any of them. But it is very convoluted for what it does
-- Jens Axboe
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |