Hm. Maybe http://lkml.org/lkml/2005/2/26/92 (updated version for[snip]
2.6.16/.17 below) can help you.
diff --fast -Ndpru linux-2.6.17-rc6~/block/genhd.c linux-2.6.17-rc6 +/block/genhd.c
--- linux-2.6.17-rc6~/block/genhd.c 2006-06-06 02:57:02.000000000 +0200
+++ linux-2.6.17-rc6+/block/genhd.c 2006-06-08 22:29:16.607058000 +0200
@@ -214,6 +214,52 @@ struct gendisk *get_gendisk(dev_t dev, i
return kobj ? to_disk(kobj) : NULL;
}
+/*
+ * printk a full list of all partitions - intended for
+ * places where the root filesystem can't be mounted and thus
+ * to give the victim some idea of what went wrong
+ */
+void printk_all_partitions(void)
+{
make targz-pkg
block/genhd.c: In function `printk_all_partitions':
block/genhd.c:240: Warnung: implicit declaration of function `mutex_lock'
block/genhd.c:240: error: `block_subsys_lock' undeclared (first use in this function)
block/genhd.c:240: error: (Each undeclared identifier is reported only once
block/genhd.c:240: error: for each function it appears in.)
block/genhd.c:273: Warnung: implicit declaration of function `mutex_unlock'
make[3]: *** [block/genhd.o] Error 1
make[2]: *** [block] Error 2
make[1]: *** [targz-pkg] Error 2
make: *** [targz-pkg] Error 2