Index: linux-2.6.26-source/include/linux/major.h
===================================================================
--- linux-2.6.26-source.orig/include/linux/major.h
+++ linux-2.6.26-source/include/linux/major.h
@@ -131,6 +131,7 @@
 #define VIOCD_MAJOR		113
 
 #define ATARAID_MAJOR		114
+#define COLINUX_MAJOR		117
 
 #define SCSI_DISK8_MAJOR	128
 #define SCSI_DISK9_MAJOR	129
Index: linux-2.6.26-source/drivers/block/Kconfig
===================================================================
--- linux-2.6.26-source.orig/drivers/block/Kconfig
+++ linux-2.6.26-source/drivers/block/Kconfig
@@ -357,6 +357,15 @@
 	  will prevent RAM block device backing store memory from being
 	  allocated from highmem (only a problem for highmem systems).
 
+config BLK_DEV_COBD
+	tristate 'Cooperative block device support'
+	default y
+	depends on COOPERATIVE
+	help
+	  Virtual block device support for cooperative kernels.
+
+	  If unsure, say Y.
+
 config CDROM_PKTCDVD
 	tristate "Packet writing on CD/DVD media"
 	depends on !UML
Index: linux-2.6.26-source/drivers/block/Makefile
===================================================================
--- linux-2.6.26-source.orig/drivers/block/Makefile
+++ linux-2.6.26-source/drivers/block/Makefile
@@ -12,6 +12,7 @@
 obj-$(CONFIG_ATARI_FLOPPY)	+= ataflop.o
 obj-$(CONFIG_AMIGA_Z2RAM)	+= z2ram.o
 obj-$(CONFIG_BLK_DEV_RAM)	+= brd.o
+obj-$(CONFIG_BLK_DEV_COBD)	+= cobd.o
 obj-$(CONFIG_BLK_DEV_LOOP)	+= loop.o
 obj-$(CONFIG_BLK_DEV_XD)	+= xd.o
 obj-$(CONFIG_BLK_CPQ_DA)	+= cpqarray.o
Index: linux-2.6.26-source/drivers/block/cobd.c
===================================================================
--- linux-2.6.26-source.orig/drivers/block/cobd.c
+++ linux-2.6.26-source/drivers/block/cobd.c
@@ -179,7 +179,7 @@
 	return ret;
 }
 
-static void do_cobd_request(request_queue_t *q)
+static void do_cobd_request(struct request_queue *q)
 {
         struct request *req;
 	struct cobd_device *cobd;
@@ -314,8 +314,7 @@
 	kfree(cobd_disks);
 
 fail_malloc:
-	if (unregister_blkdev(COLINUX_MAJOR, "cobd"))
-		printk(KERN_WARNING "cobd: cannot unregister blkdev\n");
+	unregister_blkdev(COLINUX_MAJOR, "cobd");
 
 fail_irq:
 	free_irq(BLOCKDEV_IRQ, NULL);
@@ -514,8 +513,7 @@
 		put_disk(cobd_disks[i]);
 	}
 
-	if (unregister_blkdev(COLINUX_MAJOR, "cobd"))
-		printk(KERN_WARNING "cobd: cannot unregister blkdev\n");
+	unregister_blkdev(COLINUX_MAJOR, "cobd");
 
 	free_irq(BLOCKDEV_IRQ, NULL);
 	kfree(cobd_disks);
