[PATCH v2] vmcore-dmesg: Collect full dmesg regardless of logged_chars
Dave Young
dyoung at redhat.com
Wed Oct 28 01:11:06 PDT 2015
Hi, Dangyi
On 10/28/15 at 03:50pm, Dangyi Liu wrote:
> 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>
> ---
> Changes:
> 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
> --- a/vmcore-dmesg/vmcore-dmesg.c
> +++ b/vmcore-dmesg/vmcore-dmesg.c
> @@ -540,6 +540,12 @@ static void dump_dmesg_legacy(int fd)
> exit(53);
> }
>
> + /*
> + * To collect full dmesg including the part before `dmesg -c` is useful for
Sorry I did not consider about the line length when replying your V1.
Although I'm not sure if kexec-tools strictly use 80 lines coding style
but IMO I still think it is better to do it.
> + * 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);
> }
>
Thanks
Dave
More information about the kexec
mailing list