* Re: mtdblock_ro and ext2 yields panic: block not locked
@ 2002-10-23 17:15 Eugene Surovegin
2002-10-27 19:53 ` Jörn Engel
0 siblings, 1 reply; 6+ messages in thread
From: Eugene Surovegin @ 2002-10-23 17:15 UTC (permalink / raw)
To: linux-mtd
At 08:49 AM 10/23/2002, you wrote:
>The panic comes via the INIT_REQUEST macro in mtdblock_request, but
>only after half a dozen requests or so. The requests appear to be
>associated with the execve at the end of the kernel boot process.
>
>I also get this with yesterday's CVS.
>
>Ideas? I don't think this is an MTD problem per se, but I'm stumped
>nonetheless.
mtdblock_ro is buggy. It uses nr_sectors instead current_nr_sectors while
processing request.
I sent a patch to MTD maintainer several weeks ago - nothing happened.
Thanks,
Eugene Surovegin <mailto:ebs@innocent.com>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: mtdblock_ro and ext2 yields panic: block not locked 2002-10-23 17:15 mtdblock_ro and ext2 yields panic: block not locked Eugene Surovegin @ 2002-10-27 19:53 ` Jörn Engel 2002-10-29 14:28 ` David Woodhouse 0 siblings, 1 reply; 6+ messages in thread From: Jörn Engel @ 2002-10-27 19:53 UTC (permalink / raw) To: Eugene Surovegin; +Cc: linux-mtd On Wed, 23 October 2002 10:15:00 -0700, Eugene Surovegin wrote: > I sent a patch to MTD maintainer several weeks ago - nothing happened. Hmm. David appears to be _very_ unavaillable currently. Does anyone know what is causing it? Jörn -- The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague. -- Edsger W. Dijkstra ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: mtdblock_ro and ext2 yields panic: block not locked 2002-10-27 19:53 ` Jörn Engel @ 2002-10-29 14:28 ` David Woodhouse 0 siblings, 0 replies; 6+ messages in thread From: David Woodhouse @ 2002-10-29 14:28 UTC (permalink / raw) To: Jörn Engel; +Cc: Eugene Surovegin, linux-mtd joern@wohnheim.fh-wedel.de said: > Hmm. David appears to be _very_ unavaillable currently. Does anyone > know what is causing it? Life. :) The fact that Red Hat have actually been expecting me to _work_ recently rather than just playing all the time doesn't help either. I hope to find the time to clean up the current CVS and submit it to Linus and Marcelo fairly soon, and then I want to merge the new partition code too. Eugene -- please could you send me a SSH public key; I'll give you an account and you can commit the patch. It looked sane to me IIRC and if you commit it yourself I know who to blame anyway if it's not :) -- dwmw2 ^ permalink raw reply [flat|nested] 6+ messages in thread
* mtdblock_ro and ext2 yields panic: block not locked
@ 2002-10-23 15:49 William A. Gatliff
[not found] ` <5.1.0.14.2.20021023101127.03ed2df0@pop.prodigy.net>
0 siblings, 1 reply; 6+ messages in thread
From: William A. Gatliff @ 2002-10-23 15:49 UTC (permalink / raw)
To: linux-mtd
Guys:
I'm running linux-2.4.18-mips on an Au1500 board with an AMD AM29LV642
flash. I'm using the readonly block driver and a partitioned flash.
The mtdblock_ro.c file has "mtdblock_ro.c,v 1.9" at the top.
I've been tinkering with mounting ext2 and romfs root filesystems at
boot from my mtdblock0 partition. I seem to be able to mount romfs
fine, but when I use ext2, I get this:
...
ttyS03 at 0xb1400000 (irq = 3) is a 16550
mtdblock_open
ok
mtdblock_open
ok
mtdblock_release
ok
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 192k freed
Kernel panic: mtdblock: block not locked
The panic comes via the INIT_REQUEST macro in mtdblock_request, but
only after half a dozen requests or so. The requests appear to be
associated with the execve at the end of the kernel boot process.
I also get this with yesterday's CVS.
Ideas? I don't think this is an MTD problem per se, but I'm stumped
nonetheless.
Thanks!
b.g.
--
Bill Gatliff
I'm an embedded GNU developer first, GNU instructor second.
See http://billgatliff.com for details.
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <5.1.0.14.2.20021023101127.03ed2df0@pop.prodigy.net>]
[parent not found: <20021023121843.A9783@saturn.billgatliff.com>]
* Re: mtdblock_ro and ext2 yields panic: block not locked [not found] ` <20021023121843.A9783@saturn.billgatliff.com> @ 2002-10-23 17:22 ` Eugene Surovegin 2002-10-23 18:13 ` William A. Gatliff 0 siblings, 1 reply; 6+ messages in thread From: Eugene Surovegin @ 2002-10-23 17:22 UTC (permalink / raw) To: bgat; +Cc: linux-mtd Bill, At 10:18 AM 10/23/2002, you wrote: >Care to post the patch? I'd love to see if it fixes my problem... Sure :) Here it is: diff -ur a/drivers/mtd/mtdblock_ro.c b/drivers/mtd/mtdblock_ro.c --- a/drivers/mtd/mtdblock_ro.c +++ b/drivers/mtd/mtdblock_ro.c @@ -138,10 +138,11 @@ } if (current_request->sector << 9 > mtd->size || - (current_request->sector + current_request->nr_sectors) << 9 > mtd->size) + (current_request->sector + current_request->current_nr_sectors) << 9 > mtd->size) { printk("mtd: Attempt to read past end of device!\n"); - printk("size: %x, sector: %lx, nr_sectors %lx\n", mtd->size, current_request->sector, current_request->nr_sectors); + printk("size: %x, sector: %lx, nr_sectors %lx\n", mtd->size, current_request->sector, + current_request->current_nr_sectors); end_request(0); continue; } @@ -162,7 +163,7 @@ case READ: if (MTD_READ(mtd,current_request->sector<<9, - current_request->nr_sectors << 9, + current_request->current_nr_sectors << 9, &retlen, current_request->buffer) == 0) res = 1; else @@ -184,7 +185,7 @@ // Do the write if (MTD_WRITE(mtd,current_request->sector<<9, - current_request->nr_sectors << 9, + current_request->current_nr_sectors << 9, &retlen, current_request->buffer) == 0) res = 1; else @@ -287,7 +288,7 @@ static void __exit cleanup_mtdblock(void) { unregister_blkdev(MAJOR_NR,DEVICE_NAME); - blksize_size[MAJOR_NR] = NULL; + blk_size[MAJOR_NR] = NULL; blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR)); } Eugene Surovegin <mailto:ebs@innocent.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: mtdblock_ro and ext2 yields panic: block not locked 2002-10-23 17:22 ` Eugene Surovegin @ 2002-10-23 18:13 ` William A. Gatliff 0 siblings, 0 replies; 6+ messages in thread From: William A. Gatliff @ 2002-10-23 18:13 UTC (permalink / raw) To: Eugene Surovegin; +Cc: linux-mtd Eugene: That looks like it fixed the problem: ... ttyS03 at 0xb1400000 (irq = 3) is a 16550 mtdblock_open ok mtdblock_open ok mtdblock_release ok VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 196k freed Algorithmics/MIPS FPU Emulator v1.5 init started: BusyBox v0.60.4 (2002.10.16-16:11+0000) multi-call binary Running rc.S... done eth0: link up Please press Enter to activate this console. BusyBox v0.60.4 (2002.10.16-16:11+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. # Thanks!! Yay! :^) :^) b.g. On Wed, Oct 23, 2002 at 10:22:57AM -0700, Eugene Surovegin wrote: > Bill, > > At 10:18 AM 10/23/2002, you wrote: > >Care to post the patch? I'd love to see if it fixes my problem... > > Sure :) > Here it is: > > diff -ur a/drivers/mtd/mtdblock_ro.c b/drivers/mtd/mtdblock_ro.c > --- a/drivers/mtd/mtdblock_ro.c > +++ b/drivers/mtd/mtdblock_ro.c > @@ -138,10 +138,11 @@ > } > > if (current_request->sector << 9 > mtd->size || > - (current_request->sector + current_request->nr_sectors) << 9 > > mtd->size) > + (current_request->sector + current_request->current_nr_sectors) > << 9 > mtd->size) > { > printk("mtd: Attempt to read past end of device!\n"); > - printk("size: %x, sector: %lx, nr_sectors %lx\n", mtd->size, > current_request->sector, current_request->nr_sectors); > + printk("size: %x, sector: %lx, nr_sectors %lx\n", mtd->size, > current_request->sector, > + current_request->current_nr_sectors); > end_request(0); > continue; > } > @@ -162,7 +163,7 @@ > > case READ: > if (MTD_READ(mtd,current_request->sector<<9, > - current_request->nr_sectors << 9, > + current_request->current_nr_sectors << 9, > &retlen, current_request->buffer) == 0) > res = 1; > else > @@ -184,7 +185,7 @@ > > // Do the write > if (MTD_WRITE(mtd,current_request->sector<<9, > - current_request->nr_sectors << 9, > + current_request->current_nr_sectors << 9, > &retlen, current_request->buffer) == 0) > res = 1; > else > @@ -287,7 +288,7 @@ > static void __exit cleanup_mtdblock(void) > { > unregister_blkdev(MAJOR_NR,DEVICE_NAME); > - blksize_size[MAJOR_NR] = NULL; > + blk_size[MAJOR_NR] = NULL; > blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR)); > } > > > > > > Eugene Surovegin <mailto:ebs@innocent.com> > -- Bill Gatliff I'm an embedded GNU developer first, GNU instructor second. See http://billgatliff.com for details. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2002-10-30 12:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-23 17:15 mtdblock_ro and ext2 yields panic: block not locked Eugene Surovegin
2002-10-27 19:53 ` Jörn Engel
2002-10-29 14:28 ` David Woodhouse
-- strict thread matches above, loose matches on Subject: below --
2002-10-23 15:49 William A. Gatliff
[not found] ` <5.1.0.14.2.20021023101127.03ed2df0@pop.prodigy.net>
[not found] ` <20021023121843.A9783@saturn.billgatliff.com>
2002-10-23 17:22 ` Eugene Surovegin
2002-10-23 18:13 ` William A. Gatliff
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox