[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090601161234.GA10486@redhat.com>
Date: Mon, 1 Jun 2009 18:12:34 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: paul@...-scientist.net, linux-kernel@...r.kernel.org,
stable@...nel.org, Andrew Morton <akpm@...ux-foundation.org>,
Andi Kleen <andi@...stfloor.org>,
Roland McGrath <roland@...hat.com>
Subject: Re: [PATCH] coredump: Retry writes where appropriate
On 05/31, Alan Cox wrote:
>
> On Sun, 31 May 2009 01:33:39 -0400
> Paul Smith <paul@...-scientist.net> wrote:
>
> > coredump: Retry writes where appropriate
> >
> > Core dump write operations (especially to a pipe) can be incomplete due
> > to signal reception or possibly recoverable partial writes.
>
> NAK this
>
> > Previously any incomplete write in the ELF core dumper caused the core
> > dump to stop, giving short cores in these cases. Modify the core dumper
> > to retry the write where appropriate.
>
> The existing behaviour is an absolute godsend when you've something like
> a core dump stuck on an NFS mount or something trying to core dump to
> very slow media.
I agree, we should make the coredumping interruptible.
But I don't know which signal should intterrupt. At least SIGKILL should,
I think. As for other unhandled sig_fatal() signals, I am nor sure.
I can make a patch, but first I need to know what this patch should do.
Again, please look at:
killable/interruptible coredumps
http://marc.info/?l=linux-kernel&m=121665710711931
And we should not change dump_write(), we should create the new helper
which can be used by all fs/binfmt_*.c.
And of course, the coredumping thread should not play with ->blocked
or ->sighand->action. This is not even needed.
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists