[PATCH v2] vmcore-dmesg: Collect full dmesg regardless of logged_chars
dliu at redhat.com
Wed Oct 28 00:50:41 PDT 2015
logged_chars would be set to 0 by `dmesg -c`, but full dmesg is useful
for debugging. So instead of using logged_chars directly, we calculate
it by ourselves.
Now logged_chars is set to the minimum of log_end and log_buf_len, as
the same logic as crash utility is using.
Signed-off-by: Dangyi Liu <dliu at redhat.com>
v1->v2: Update comment and commit message
vmcore-dmesg/vmcore-dmesg.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
index f47ee11..134a4ef 100644
@@ -540,6 +540,12 @@ static void dump_dmesg_legacy(int fd)
+ * To collect full dmesg including the part before `dmesg -c` is useful for
+ * later debugging. Use same logic as what crash utility is using.
+ logged_chars = log_end < log_buf_len ? log_end : log_buf_len;
write_to_stdout(buf + (log_buf_len - logged_chars), logged_chars);
More information about the kexec