|
@@ -54,7 +54,7 @@ static unsigned int debugflags;
|
|
|
#endif /* NDEBUG */
|
|
|
|
|
|
static unsigned int nbds_max = 16;
|
|
|
-static struct nbd_device nbd_dev[MAX_NBD];
|
|
|
+static struct nbd_device *nbd_dev;
|
|
|
|
|
|
/*
|
|
|
* Use just one lock (or at most 1 per NIC). Two arguments for this:
|
|
@@ -649,11 +649,9 @@ static int __init nbd_init(void)
|
|
|
|
|
|
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,
|
|
|
- nbds_max);
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
+ nbd_dev = kcalloc(nbds_max, sizeof(*nbd_dev), GFP_KERNEL);
|
|
|
+ if (!nbd_dev)
|
|
|
+ return -ENOMEM;
|
|
|
|
|
|
for (i = 0; i < nbds_max; i++) {
|
|
|
struct gendisk *disk = alloc_disk(1);
|