Index: head-2006-02-23/drivers/xen/Kconfig =================================================================== --- head-2006-02-23.orig/drivers/xen/Kconfig 2006-02-28 15:19:06.000000000 +0100 +++ head-2006-02-23/drivers/xen/Kconfig 2006-02-28 15:22:29.000000000 +0100 @@ -68,7 +68,7 @@ config XEN_UNPRIVILEGED_GUEST default n config XEN_BLKDEV_BACKEND - bool "Block-device backend driver" + tristate "Block-device backend driver" default y help The block-device backend driver allows the kernel to export its @@ -76,7 +76,7 @@ config XEN_BLKDEV_BACKEND interface. config XEN_BLKDEV_TAP_BE - bool "Block Tap support for backend driver (DANGEROUS)" + tristate "Block Tap support for backend driver (DANGEROUS)" depends on XEN_BLKDEV_BACKEND default n help @@ -145,7 +145,7 @@ config XEN_NETDEV_FRONTEND (domain 0), then you almost certainly want to say Y here. config XEN_BLKDEV_TAP - bool "Block device tap driver" + tristate "Block device tap driver" default n help This driver allows a VM to interact on block device channels Index: head-2006-02-23/drivers/xen/blkback/Makefile =================================================================== --- head-2006-02-23.orig/drivers/xen/blkback/Makefile 2006-02-23 11:55:09.000000000 +0100 +++ head-2006-02-23/drivers/xen/blkback/Makefile 2006-02-28 15:08:53.000000000 +0100 @@ -1,2 +1,3 @@ +obj-$(CONFIG_XEN_BLKDEV_BACKEND) := blkbk.o -obj-y := blkback.o xenbus.o interface.o vbd.o +blkbk-y := blkback.o xenbus.o interface.o vbd.o Index: head-2006-02-23/drivers/xen/blkback/blkback.c =================================================================== --- head-2006-02-23.orig/drivers/xen/blkback/blkback.c 2006-02-23 11:55:09.000000000 +0100 +++ head-2006-02-23/drivers/xen/blkback/blkback.c 2006-02-28 15:16:34.000000000 +0100 @@ -29,14 +29,10 @@ * 64 should be enough to keep us competitive with Linux. */ static int blkif_reqs = 64; -static int mmap_pages; +module_param_named(reqs, blkif_reqs, int, 0); +MODULE_PARM_DESC(reqs, "Number of blkback requests to allocate"); -static int __init set_blkif_reqs(char *str) -{ - get_option(&str, &blkif_reqs); - return 1; -} -__setup("blkif_reqs=", set_blkif_reqs); +static int mmap_pages; /* Run-time switchable: /sys/module/blkback/parameters/ */ static unsigned int log_stats = 0; @@ -574,10 +570,20 @@ static int __init blkif_init(void) list_add_tail(&pending_reqs[i].free_list, &pending_free); blkif_xenbus_init(); + __unsafe(THIS_MODULE); return 0; } -__initcall(blkif_init); +module_init(blkif_init); + +static void blkif_exit(void) +{ + BUG(); +} + +module_exit(blkif_exit); + +MODULE_LICENSE("Dual BSD/GPL"); /* * Local variables: