File kdump-add-none-format of Package kdump
From: Jeff Mahoney <jeffm@suse.com>
Subject: kdump: Add 'none' format
Now that we have the ability to dump the dmesg log after a crash, it's
useful for users who don't have any use for a crash dump other than
to generate the dmesg log to avoid saving the dump at all. This avoids
both using the disk space required for a lot as well as the time
involved in waiting for the dump to complete only to later have to
remove it manually.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
kdumptool/savedump.cc | 17 ++++++++++-------
sysconfig.kdump | 5 +++--
2 files changed, 13 insertions(+), 9 deletions(-)
--- a/kdumptool/savedump.cc
+++ b/kdumptool/savedump.cc
@@ -277,12 +277,13 @@ void SaveDump::saveDump()
bool useElf = strcasestr(dumpformat.c_str(), "elf") != NULL;
bool useCompressed = strcasestr(dumpformat.c_str(), "compressed") != NULL;
+ bool noDump = strcasestr(dumpformat.c_str(), "none") != NULL;
if (useElf && dumplevel == 0) {
// use file source?
provider = new FileDataProvider(m_dump.c_str());
m_useMakedumpfile = false;
- } else {
+ } else if (!noDump) {
// use makedumpfile
stringstream cmdline;
cmdline << "makedumpfile ";
@@ -316,12 +317,14 @@ void SaveDump::saveDump()
cout << "Saving dump using makedumpfile" << endl;
terminal.printLine();
}
- TerminalProgress progress("Saving dump");
- if (config->getVerbose() & Configuration::VERB_PROGRESS)
- provider->setProgress(&progress);
- else
- cout << "Saving dump ..." << endl;
- m_transfer->perform(provider, "vmcore", &m_usedDirectSave);
+ if (provider) {
+ TerminalProgress progress("Saving dump");
+ if (config->getVerbose() & Configuration::VERB_PROGRESS)
+ provider->setProgress(&progress);
+ else
+ cout << "Saving dump ..." << endl;
+ m_transfer->perform(provider, "vmcore", &m_usedDirectSave);
+ }
m_transfer->perform(logProvider, "dmesg.txt", NULL);
if (m_useMakedumpfile)
terminal.printLine();
--- a/sysconfig.kdump
+++ b/sysconfig.kdump
@@ -154,11 +154,12 @@ KDUMP_VERBOSE=3
#
KDUMP_DUMPLEVEL=0
-## Type: list(,compressed,ELF)
+## Type: list(,compressed,ELF,none)
## Default: "compressed"
## ServiceRestart: kdump
#
-# This variable specifies the dump format.
+# This variable specifies the dump format. Using the 'none' option will
+# skip capturing the dump entirely and only save the log messages.
#
# See also: kdump(5).
KDUMP_DUMPFORMAT="compressed"