[2.6 patch] drivers/block/nbd.c: don't defer compile error to runtime

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux