2.4.20 /proc/partitions corruption with many partitions

Nick Burrett (nick@dsvr.net)
Tue, 03 Jun 2003 16:47:40 +0100


Hi,

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";
break;
case MD_MAJOR:
+ case LVM_BLK_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
etc.

The attached file is simply the output of:

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

Any thoughts ?

Regards,

Nick.

-
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/