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/

Reply via email to