Messages in this thread | | | Date | Mon, 1 Jun 2009 18:12:34 +0200 | From | Oleg Nesterov <> | 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@mad-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.
| |