[lkml]   [2007]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] linux- gzipped core dump patch
    On Mon, Sep 03, 2007 at 10:32:00PM -0400, Pallewatta Mano-FPCD67 wrote:
    > This patch was developed for embedded systems which had limited space
    > for file storage. If an external process is to compress core files you
    > will need to store those files somewhere first as core dump output
    > cannot be directly fed to the stdin of compression program.

    Why? Create a pipe, start a new process, put the reader struct file
    into its descriptor table as stdin, do execve in new process and
    pass the writer struct file to ->core_dump().

    As the matter of fact, it's already done - see
    ispipe = format_corename(corename, core_pattern, signr);
    if (ispipe) {
    /* SIGPIPE can happen, but it's just never processed */
    if(call_usermodehelper_pipe(corename+1, NULL, NULL, &file)) {
    printk(KERN_INFO "Core dump to %s pipe failed\n",
    goto fail_unlock;
    } else
    file = filp_open(corename,
    O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE | flag,
    in do_coredump(). So take a look at fs/exec.c:format_corename() and see
    what to feed for it in order to get the equivalent of your patch.
    core_patttern is set by sysctl (just say
    echo [whatever] >/proc/sys/kernel/core_pattern
    and don't forget quoting, since | should be the first character to indicate
    that you want to pipe coredump through a helper).

    I really don't see a reason to do that kind of work in the kernel, embedded
    system or not.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-09-04 05:29    [W:0.020 / U:44.012 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site