On Fri, Sep 02, 2005 at 07:20:47PM -0400, Adam Kropelin wrote: > Adrian Bunk wrote: > > If we can detect a problem at compile time, the compilation should > > fail. > > [...] > > > if (sizeof(struct nbd_request) != 28) { > > - printk(KERN_CRIT "nbd: sizeof nbd_request needs to be 28 in > > order to work!\n" ); > > - return -EIO; > > + extern void nbd_request_wrong_size(void); > > + nbd_request_wrong_size(); > > BUILD_BUG_ON(sizeof(struct nbd_request) != 28); > > ...perhaps?
Neat, I didn't know about this. I didn't know about this. > --Adam cu Adrian <-- snip --> If we can detect a problem at compile time, the compilation should fail. Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]> --- linux-2.6.13-mm1-full/drivers/block/nbd.c.old 2005-09-02 23:48:27.000000000 +0200 +++ linux-2.6.13-mm1-full/drivers/block/nbd.c 2005-09-03 01:08:04.000000000 +0200 @@ -643,10 +643,7 @@ int err = -ENOMEM; int i; - if (sizeof(struct nbd_request) != 28) { - printk(KERN_CRIT "nbd: sizeof nbd_request needs to be 28 in order to work!\n" ); - return -EIO; - } + BUILD_BUG_ON(sizeof(struct nbd_request) != 28); if (nbds_max > MAX_NBD) { printk(KERN_CRIT "nbd: cannot allocate more than %u nbds; %u requested.\n", MAX_NBD, - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/