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