This patch set main goal is to allow dumping of full debug informations for operations occuring in libvirt daemon before a crash. The principle is to save all logs to a round-robbin memory buffer (which we already do, except we never use that buffer), save the general daemon logs to a libvirtd.log file for which we keep an open descriptor, and upon reception of a fatal signal, save the memory buffer directly to the file descriptor and fsync it. There is quite a few remarks about this, we already have that buffer but we don't log everything in, only what's output, that's what patch 1 changes, then we need to provide a function to dump this, so there is a new internal API for it. We also need to be cautious about what system call we operate from the signal handler, but basically we should limit ourselves here to write/fsync and sigaction which are safe there dixit POSIX. Something like killall -USR2 libvirtd allows to see the kind of output one get, an idle libvirtd is quiet, but handle/timer/fdpolls tend to be very verbose, maybe we need an intermediate debug level, but that would also impact the API. Maybe now that this part is well debugged some of those could be suppressed or commented off. Also the buffer is a statically allocated 64KB, maybe this could be made more flexible but IMHO that's not fundamental. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list