Re: [PATCH/RFC] oops and panic message logging to MTD

2007-07-04 Thread Richard Purdie
On Tue, 2007-07-03 at 12:47 +0300, Jarkko Lavinen wrote: > On Tue, Jun 19, 2007 at 11:00:54AM +0100, Richard Purdie wrote: > > Its not a case of formatting the whole partition. The whole point of > > this code is the following use case: > > > > 1. Device crashes > > 2. Device reboots > > 3. mtdoop

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-07-03 Thread Jarkko Lavinen
On Tue, Jun 19, 2007 at 11:00:54AM +0100, Richard Purdie wrote: > Its not a case of formatting the whole partition. The whole point of > this code is the following use case: > > 1. Device crashes > 2. Device reboots > 3. mtdoops partition has a log of why it crashed The oops logger uses oops_in_p

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-06-19 Thread Artem Bityutskiy
On Tue, 2007-06-19 at 11:52 +0100, Richard Purdie wrote: > > Error > > code means that something very bad and sever is going on and you have to > > just refuse working with this device. > > In this case, it will just move on to the next EB. There is code to > handle no available EBs at which poin

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-06-19 Thread Richard Purdie
On Tue, 2007-06-19 at 13:29 +0300, Artem Bityutskiy wrote: > On Tue, 2007-06-19 at 11:00 +0100, Richard Purdie wrote: > > > Well, mtd->block_isbad() may return error, unlikely, bu still. You also > > > ignore the error at other places. > > > > Ignoring that is deliberate since it doesn't really ma

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-06-19 Thread Artem Bityutskiy
On Tue, 2007-06-19 at 11:00 +0100, Richard Purdie wrote: > On Tue, 2007-06-19 at 10:55 +0300, Artem Bityutskiy wrote: > > On Mon, 2007-06-18 at 17:31 +0100, Richard Purdie wrote: > > > + if (mtd->erasesize < OOPS_PAGE_SIZE) > > > + erase.len = OOPS_PAGE_SIZE; > > > > It seems to me that yo

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-06-19 Thread Richard Purdie
On Tue, 2007-06-19 at 10:55 +0300, Artem Bityutskiy wrote: > On Mon, 2007-06-18 at 17:31 +0100, Richard Purdie wrote: > > + if (mtd->erasesize < OOPS_PAGE_SIZE) > > + erase.len = OOPS_PAGE_SIZE; > > It seems to me that your code won't work if mtd->erasesize < > OOPS_PAGE_SIZE anyway, s

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-06-19 Thread Artem Bityutskiy
On Mon, 2007-06-18 at 17:31 +0100, Richard Purdie wrote: > +static int mtdoops_erase_block(struct mtd_info *mtd, int offset) > +{ > + struct erase_info erase; > + DECLARE_WAITQUEUE(wait, current); > + wait_queue_head_t wait_q; > + int ret; > + > + init_waitqueue_head(&wait_q); >

Re: [PATCH/RFC] oops and panic message logging to MTD

2007-06-19 Thread Artem Bityutskiy
On Mon, 2007-06-18 at 17:31 +0100, Richard Purdie wrote: > +static int mtdoops_erase_block(struct mtd_info *mtd, int offset) > +{ > + struct erase_info erase; > + DECLARE_WAITQUEUE(wait, current); > + wait_queue_head_t wait_q; > + int ret; > + > + init_waitqueue_head(&wait_q); >

[PATCH/RFC] oops and panic message logging to MTD

2007-06-18 Thread Richard Purdie
Kernel oops and panic messages are invaluable when debugging crashes. These messages often don't make it to flash based logging methods (say a syslog on jffs2) due to the overheads involved in writing to flash. This patch allows you to turn an MTD partition into a circular log buffer where kernel