[libvirt] [PATCH] qemu: Prevent disk corruption on domain shutdown

Jiri Denemark jdenemar at redhat.com
Tue Sep 20 08:04:00 UTC 2011


On Tue, Sep 20, 2011 at 11:31:06 +0800, Wen Congyang wrote:
> At 09/15/2011 06:07 PM, Jiri Denemark Write:
> > Ever since we introduced fake reboot, we call qemuProcessKill as a
> > reaction to SHUTDOWN event. Unfortunately, qemu doesn't guarantee it
> > flushed all internal buffers before sending SHUTDOWN, in which case
> > killing the process forcibly may result in (virtual) disk corruption.
> > 
> > By sending just SIGTERM without SIGKILL we give qemu time to to flush
> > all buffers and exit. Once qemu exits, we will see an EOF on monitor
> > connection and tear down the domain. In case qemu ignores SIGTERM or
> > just hangs there, the process stays running but that's not any different
> > from a possible hang anytime during the shutdown process so I think it's
> > just fine.
> 
> With this patch, the domain can not be shutdown, because we add '-no-shutdown'
> in the command line.

That's a bug in qemu introduced just before 0.14.0 was released (IIRC) and
fixed by http://lists.nongnu.org/archive/html/qemu-devel/2011-09/msg01757.html

Jirka




More information about the libvir-list mailing list