[PATCH 2/2] makedumpfile: make the incomplete vmcore generated by ENOSPC error analyzable

Dave Anderson anderson at redhat.com
Wed Sep 17 06:55:44 PDT 2014



----- Original Message -----
> Hello Dave,
> 
> Thanks for your reply.
> 
> We can use two methods to indicate that the incomplete vmcore is a "fixed" one,
> 1. Use a flag in elf/kdump dumpfile(like "e_flags" in ELF header and "status"
>     in disk_dump_header) to indicate it has been "fixed". But actually the
>     kdump-compressed file needn't to use such a flag, for we just change the
>     data write order of this format.

I don't understand.

First, let's stop using the "fixed" description.  It is definitely *not* fixed, but 
rather it is still a bogus, incomplete, dumpfile, and the user should be made aware 
of that fact.  

For compressed kdumps, the disk_dump_header.status field currently uses these
three bits:

 #define DUMP_DH_COMPRESSED_ZLIB    0x1   /* page is compressed with zlib */
 #define DUMP_DH_COMPRESSED_LZO     0x2   /* page is compressed with lzo */
 #define DUMP_DH_COMPRESSED_SNAPPY  0x4   /* page is compressed with snappy */
 
Can you please simply add a DUMP_DH_COMPRESSED_INCOMPLETE flag?

With respect to ELF vmcores, the processor-specific e_flags field is unused by the
crash utility, and it appears that makedumpfile always sets it to zero.  But
I'm not sure what the kernel does when /proc/vmcore is created?  Could there
be e_flags bits set there that a direct-copy of /proc/vmcore might contain?
That's why I suggested a unique ELF note.  

Then, if the flag is set, the crash utility can display "[INCOMPLETE]" next
to the dumpfile file name in the initial system banner and by the "sys" command.

And in the highly-likely event where the vmcore fails to initialize -- in that
case "crash -d1" can display the header contents immediately during invocation.  
That way, instead of users complaining about the crash utility, the blame can be
placed where it belongs.

> 2. We can just let makedumpfile change the "fixed" dumpfile's filename automatically.
>     Such as add a "-truncated" flag after those dumpfiles.

You probably should do that -- in *addition* to setting a flag in the header.  
Since there's no way to prevent a user from re-naming the file, without a flag,
there would be no way of confirming that it was a bogus dumpfile to begin with.

Thanks,
  Dave
 



More information about the kexec mailing list