2.5.67-mm1
Hi,
Quoted 6 lines
. sparc64 is now using gcc-3.x, so there is a patch here to make
gcc-2.95 the minimum required version.. A few rmap-speedup patches reduce the rmap CPU tax by 25-30% on a P4
. Various other cleaups, speedups and fixups.
On attempting to boot this kernel, I get the following just before init:
Kernel panic: VFS: Unable to mount root fs on 03:05
2.5.67 base works fine. I discovered that reverting the following patches allows me to boot. I can increase the granularity of my search if nothing comes immediately to mind:
aggregated-disk-stats.patch
dynamic-hd_struct-allocation-fixes.patch
dynamic-hd_struct-allocation.patch
I reverted the aggregated-xx patch because it depends on the dynamic hd_struct work in a single line;
+ struct hd_struct *hd = gp->part[n];
Therefore it may not be this patch that is the source of the problem, but I backed it out anyway.
Cheers,
Alistair Strachan.
Quoted 4 lines · Alistair Strachan
On attempting to boot this kernel, I get the following just before init:
Kernel panic: VFS: Unable to mount root fs on 03:05
Quoted 8 lines
2.5.67 base works fine. I discovered that reverting the following patches allows me to boot. I can increase the granularity of my search if nothing comes immediately to mind:
aggregated-disk-stats.patch
dynamic-hd_struct-allocation-fixes.patch
dynamic-hd_struct-allocation.patch
Ah, good detective work, thanks. It looks like the hd_struct dynamic allocation patch has broken devfs partition discovery somehow.
Quoted 8 lines · Andrew Morton
Quoted 7 lines · Alistair Strachan
On attempting to boot this kernel, I get the following just before init:
Kernel panic: VFS: Unable to mount root fs on 03:052.5.67 base works fine. I discovered that reverting the following patches allows me to boot. I can increase the granularity of my search if nothing comes immediately to mind:
Quoted 6 lines
Quoted 3 lines
aggregated-disk-stats.patch
dynamic-hd_struct-allocation-fixes.patch
dynamic-hd_struct-allocation.patchAh, good detective work, thanks. It looks like the
hd_structdynamic allocation patch has broken devfs partition discovery somehow.
Thanks.. I am going to look now. Must have broken something in devfs.
- Badari
Quoted 8 lines · Andrew Morton
Quoted 7 lines · Alistair Strachan
On attempting to boot this kernel, I get the following just before init:
Kernel panic: VFS: Unable to mount root fs on 03:052.5.67 base works fine. I discovered that reverting the following patches allows me to boot. I can increase the granularity of my search if nothing comes immediately to mind:
Quoted 6 lines
Quoted 3 lines
aggregated-disk-stats.patch
dynamic-hd_struct-allocation-fixes.patch
dynamic-hd_struct-allocation.patchAh, good detective work, thanks. It looks like the
hd_structdynamic allocation patch has broken devfs partition discovery somehow.
Okay !! My bad.
Here is the patch for 2.5.67-mm1. Could you try and let me know ?
Thanks,
Badari
fs/partitions/check.c +4 -5
@@ -163,13 +163,13 @@ static void devfs_register_partition(strstruct 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)
Hi,
Quoted 8 lines · Badari Pulavarty
Quoted 3 lines · Andrew Morton
Ah, good detective work, thanks. It looks like the
hd_structdynamic allocation patch has broken devfs partition discovery somehow.Thanks.. I am going to look now. Must have broken something in devfs.
- Badari
Sorry for the delay, I've only just woken up. I applied the patch, it wouldn't compile, you missed the following (I think obvious) chunk:
fs/partitions/check.c 2003-04-09 07:51:26 +0100 renamed from fs/partitions/check.c.old 2003-04-09 07:49:29 +0100 +1 -1
@@ -160,7 +160,7 @@ { #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)
With that in place, it compiled without warning and the machine now boots with the dynamic hd_struct work + aggregate stats patch.
Thanks for your time.
Cheers,
Alistair.
Quoted 16 lines · Alistair Strachan
Sorry for the delay, I've only just woken up. I applied the patch, it wouldn't compile, you missed the following (I think obvious) chunk:
fs/partitions/check.c 2003-04-09 07:51:26 +0100 renamed from fs/partitions/check.c.old 2003-04-09 07:49:29 +0100 +1
-1@@ -160,7 +160,7 @@ { #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)
Quoted 4 lines
With that in place, it compiled without warning and the machine now boots with the dynamic
hd_structwork + aggregate stats patch.Thanks for your time.
Thank you for testing it with devfs.
- Badari