[2.6 patch] drivers/block/nbd.c: don't defer compile error to runtime
From: Adrian Bunk
Date: Fri Sep 02 2005 - 18:25:21 EST
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 <bunk@xxxxxxxxx>
--- 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/