* [PATCH] 2.5 INITRD + DEVFS crash
@ 2003-01-04 4:12 Herbert Xu
2003-01-04 4:25 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: Herbert Xu @ 2003-01-04 4:12 UTC (permalink / raw)
To: viro; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 415 bytes --]
INITRD loading fails when DEVFS is enabled in the kernel as initrd_release
calls del_gendisk which tries to free DEVFS partitions even though the
create partitions function was never called.
--
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
[-- Attachment #2: p --]
[-- Type: text/plain, Size: 683 bytes --]
Index: fs/partitions/check.c
===================================================================
RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source-2.5/fs/partitions/check.c,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 check.c
--- fs/partitions/check.c 3 Jan 2003 01:36:55 -0000 1.1.1.3
+++ fs/partitions/check.c 4 Jan 2003 04:04:05 -0000
@@ -522,7 +522,8 @@
disk->io_ticks = 0;
disk->time_in_queue = 0;
disk->stamp = disk->stamp_idle = 0;
- devfs_remove_partitions(disk);
+ if (disk->minors != 1)
+ devfs_remove_partitions(disk);
if (disk->driverfs_dev) {
sysfs_remove_link(&disk->kobj, "device");
sysfs_remove_link(&disk->driverfs_dev->kobj, "block");
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] 2.5 INITRD + DEVFS crash
2003-01-04 4:12 [PATCH] 2.5 INITRD + DEVFS crash Herbert Xu
@ 2003-01-04 4:25 ` Jeff Garzik
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2003-01-04 4:25 UTC (permalink / raw)
To: Herbert Xu; +Cc: viro, linux-kernel
Herbert Xu wrote:
> INITRD loading fails when DEVFS is enabled in the kernel as initrd_release
> calls del_gendisk which tries to free DEVFS partitions even though the
> create partitions function was never called.
[...]
> --- fs/partitions/check.c 3 Jan 2003 01:36:55 -0000 1.1.1.3
> +++ fs/partitions/check.c 4 Jan 2003 04:04:05 -0000
> @@ -522,7 +522,8 @@
> disk->io_ticks = 0;
> disk->time_in_queue = 0;
> disk->stamp = disk->stamp_idle = 0;
> - devfs_remove_partitions(disk);
> + if (disk->minors != 1)
> + devfs_remove_partitions(disk);
> if (disk->driverfs_dev) {
> sysfs_remove_link(&disk->kobj, "device");
> sysfs_remove_link(&disk->driverfs_dev->kobj, "block");
hmmmm. I'm not disputing the problem, but your solution sorta says to
me that there is a reference counting problem elsewhere. [disclaimer:
random guess] Maybe the initrd+devfs needs an additional reference
increment somewhere?
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-01-04 4:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-04 4:12 [PATCH] 2.5 INITRD + DEVFS crash Herbert Xu
2003-01-04 4:25 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox