From: Badari Pulavarty 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) _