2.4.20 /proc/partitions corruption with many partitions

From: Nick Burrett (nick@dsvr.net)
Date: Tue Jun 03 2003 - 10:47:40 EST


I'm finding it difficult to create more than, say 80, logical partitions
on a server. The symptoms are that lvcreate keeps segfaulting. The
reason is that /proc/partitions contains invalid data.

I initially wondered whether it might be the device naming convention
since when we go above 26 logical paritions we start writing out lvm{,
lvm}, lvm[ etc. so I added the following patch to write out the devices
as digits but this didn't have any effect.

--- fs/partitions/check.c 2002-11-28 23:53:15.000000000 +0000
+++ fs/partitions/check.c 2003-06-03 14:43:19.000000000 +0100
@@ -148,6 +148,7 @@ char *disk_name (struct gendisk *hd, int
                         maj = "hd";
                 case MD_MAJOR:
                         sprintf(buf, "%s%d", maj, unit);
                         return buf;

This is quite easy to replicate, just create many logical volumes until
lvcreate fails e.g.

$ lvcreate -L 10M -n foo01 vol01

The attached file is simply the output of:

$ cat /proc/partitions >/root/foo.txt

Any thoughts ?



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:20 EST