--- ./drivers/block/aoe/aoe.h.aoefix 2005-10-25 15:30:40.000000000 +0400 +++ ./drivers/block/aoe/aoe.h 2005-10-25 15:31:31.925074008 +0400 @@ -3,7 +3,13 @@ #define AOE_MAJOR 152 #define DEVICE_NAME "aoe" -/* AOE_PARTITIONS is set in the Makefile */ +/* set AOE_PARTITIONS to 1 to use whole-disks only + * default is 16, which is 15 partitions plus the whole disk + */ +#ifndef AOE_PARTITIONS +#define AOE_PARTITIONS (16) +#endif + #define SYSMINOR(aoemajor, aoeminor) ((aoemajor) * NPERSHELF + (aoeminor)) #define AOEMAJOR(sysminor) ((sysminor) / NPERSHELF) --- ./drivers/block/aoe/aoechr.c.aoefix 2005-10-25 15:30:40.000000000 +0400 +++ ./drivers/block/aoe/aoechr.c 2005-10-25 16:01:44.547513512 +0400 @@ -37,7 +37,6 @@ static int emsgs_head_idx, emsgs_tail_id static struct semaphore emsgs_sema; static spinlock_t emsgs_lock; static int nblocked_emsgs_readers; -static struct class *aoe_class; static struct aoe_chardev chardevs[] = { { MINOR_ERR, "err" }, { MINOR_DISCOVER, "discover" }, @@ -210,7 +209,7 @@ static struct file_operations aoe_fops = int __init aoechr_init(void) { - int n, i; + int n; n = register_chrdev(AOE_MAJOR, "aoechr", &aoe_fops); if (n < 0) { @@ -219,27 +218,12 @@ aoechr_init(void) } sema_init(&emsgs_sema, 0); spin_lock_init(&emsgs_lock); - aoe_class = class_create(THIS_MODULE, "aoe"); - if (IS_ERR(aoe_class)) { - unregister_chrdev(AOE_MAJOR, "aoechr"); - return PTR_ERR(aoe_class); - } - for (i = 0; i < ARRAY_SIZE(chardevs); ++i) - class_device_create(aoe_class, - MKDEV(AOE_MAJOR, chardevs[i].minor), - NULL, chardevs[i].name); - return 0; } void aoechr_exit(void) { - int i; - - for (i = 0; i < ARRAY_SIZE(chardevs); ++i) - class_device_destroy(aoe_class, MKDEV(AOE_MAJOR, chardevs[i].minor)); - class_destroy(aoe_class); unregister_chrdev(AOE_MAJOR, "aoechr"); }