[PATCH v5 0/11] Merge ram_console into pstore

From: Anton Vorontsov
Date: Sat May 26 2012 - 09:19:59 EST


Hi all,

And another respin, v5 this time:

- Split out fixes into a separate series;
- Added proper spinlock protection to the pstore/console interface
(the bug I found when was adding ftrace interface);
- And as I'm about to add ftrace support to pstore, to not touch
the same lines of code twice, I reworked 'Factor ramoops_get_dump_prz()
out of ramoops_pstore_read()' patch into 'Factor ramoops_get_next_prz()
out of ramoops_pstore_read()'. This is just a more generic interface
that will work for both console and ftrace przs.
Since the patch changed drastically, it lost Kees' ack, so it needs a
re-ack.
- The same as above happened w/ 'Introduce ramoops_context.max_dump_count'
patch, it turned into 'Give proper names to dump-related variables', it
also needs a re-ack.
- If anyone is willing to try the patches, for convenience they are now
available in the git repository:
git://git.infradead.org/users/cbou/linux-pstore.git
or gitweb:
http://git.infradead.org/users/cbou/linux-pstore.git

In v4:

- Per Kees Cook's comments, the patches no longer remove an automatic
updates feature, but instead make the it configurable; plus disable
it by default (in a separate patch);
- Fixed some bugs noticed by Colin Cross;
- Documented new continuous ramoops-console log behaviour (also
noticed by Colin Cross).

In v3:

- Rebased on top of current staging-next;
- The series are getting bigger. This is partly because we now support
different persistent zone sizes for oops records and console log,
per Colin Cross' request.
And I believe the code is now more manageable for further enhancements
(e.g. if we'd want to add other message types, e.g. tracing);
- Addressed Kees Cook's comments on the unlinking matters;
- Removed automatic updates support. Please see the last patch
description for rationale;
- A new fixup for pstore/inode, just getting rid of a sparse warning.

In v2:

- Updated documentation per Colin Cross' comments;
- Corrected return value in ramoops_pstore_write() (noticed by Kees Cook);
- Fixed large writes handling in pstore_console_write(), i.e. when
log_buf write is larger than pstore bufsize. Also Noticed by Kees Cook.


And a boilerplate for the series:

Currently pstore doesn't support logging kernel messages in run-time,
it only dumps dmesg when kernel oopses/panics. This makes pstore
useless for debugging hangs caused by HW issues or improper use of HW
(e.g. weird device inserted -> driver tried to write reserved bits ->
SoC hanged. In that case we don't get any messages in the pstore.

This series add a new message type for pstore, i.e. PSTORE_TYPE_CONSOLE,
plus make pstore/ram.c handle the new messages.

The old ram_console driver is removed. This might probably cause
some pain for out-of-tree code, as it would need to be adjusted...
but "no pain, no gain"? :-) Though, if there's some serious resistance,
we can probably postpone the last two patches.

Thanks!

---
Documentation/ramoops.txt | 14 ++
drivers/staging/android/Kconfig | 5 -
drivers/staging/android/Makefile | 1 -
drivers/staging/android/ram_console.c | 179 ------------------------
fs/pstore/Kconfig | 7 +
fs/pstore/inode.c | 3 +
fs/pstore/platform.c | 54 +++++++-
fs/pstore/ram.c | 246 ++++++++++++++++++++++++---------
fs/pstore/ram_core.c | 81 +----------
include/linux/pstore.h | 1 +
include/linux/pstore_ram.h | 20 +--
11 files changed, 261 insertions(+), 350 deletions(-)

--
Anton Vorontsov
Email: cbouatmailru@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/