From: Badari Pulavarty <pbadari@us.ibm.com>

Here is the patch for 2.5.67-mm1. Could you try and let me know ?



 fs/partitions/check.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff -puN fs/partitions/check.c~dynamic-hd_struct-devfs-fix fs/partitions/check.c
--- 25/fs/partitions/check.c~dynamic-hd_struct-devfs-fix	2003-04-10 22:37:40.000000000 -0700
+++ 25-akpm/fs/partitions/check.c	2003-04-10 22:37:40.000000000 -0700
@@ -160,16 +160,16 @@ static void devfs_register_partition(str
 {
 #ifdef CONFIG_DEVFS_FS
 	devfs_handle_t dir;
-	struct hd_struct *p = dev->part;
+	struct hd_struct **p = dev->part;
 	char devname[16];
 
-	if (p[part-1].de)
+	if (p[part-1]->de)
 		return;
 	dir = dev->de;
 	if (!dir)
 		return;
 	sprintf(devname, "part%d", part);
-	p[part-1].de = devfs_register (dir, devname, 0,
+	p[part-1]->de = devfs_register (dir, devname, 0,
 				    dev->major, dev->first_minor + part,
 				    S_IFBLK | S_IRUSR | S_IWUSR,
 				    dev->fops, NULL);
@@ -281,14 +281,13 @@ void add_partition(struct gendisk *disk,
 	memset(p, 0, sizeof(struct hd_struct));
 	p->start_sect = start;
 	p->nr_sects = len;
+	p->partno = part;
+	disk->part[part-1] = p;
 	devfs_register_partition(disk, part);
 	snprintf(p->kobj.name,KOBJ_NAME_LEN,"%s%d",disk->kobj.name,part);
 	p->kobj.parent = &disk->kobj;
 	p->kobj.ktype = &ktype_part;
 	kobject_register(&p->kobj);
-
-	p->partno = part;
-	disk->part[part-1] = p;
 }
 
 static void disk_sysfs_symlinks(struct gendisk *disk)

_