[RFC PATCH 1/3]] Add mtd panic_write function pointer

Jörn Engel joern at logfs.org
Tue Jan 29 18:11:04 EST 2008


On Tue, 29 January 2008 11:59:24 +0000, Richard Purdie wrote:
> 
> MTDs are well suited for logging critical data and the mtdoops driver
> allows kernel panics/oops to be written to flash in a blackbox flight
> recorder fashion allowing better debugging and analysis of crashes.
> 
> Any kernel oops in user context can be easily handled since the kernel
> continues as normal and any queued mtd writes are scheduled. Any kernel
> oops in interrupt context results in a panic and the delayed writes will
> not be scheduled however. The existing mtd->write function cannot be
> called in interrupt context so these messages can never be written to
> flash.
> 
> This patch adds a panic_write function pointer that drivers can
> optionally implement which can be called in interrupt context. It is
> only intended to be called when its known the kernel is about to panic
> and we need to write to succeed. Since the kernel is not going to be
> running for much longer, this function can break locks and delay to
> ensure the write succeeds (but not sleep).

I like the description.  So why is it not part of the patch proper?


Jörn

-- 
Beware of bugs in the above code; I have only proved it correct, but
not tried it.
-- Donald Knuth



More information about the linux-mtd mailing list