
On Sat, Jan 31, 2009 at 02:32:09PM +0100, Guido G?nther wrote:
Hi, we currently don't report errors to save qemu's domain status file back to the caller. That was o.k. as long as the code was there for testing but now that the XML is being picked up on daemon restart we must handle these. The attached patch does that, although I'm not confident that it's enough. While we return error on device attach/unattach the device actually got attached/unattached already. Same is true for suspend/resume. A better solution would be to write out the new domain status into a temp file and simply call rename(2) on it when the attach/unattach succeeds and discard it if it fails. This would minimize the possible error conditions like disk full, missing permissions to write into that directory etc. Does this sound reasonable?
Yeah, I think that sounds like a reasonable idea virPrepareStatusFile() virSaveStatusFile() the former creates the temporary file, and the latter does the rename(). In the prepare stage, we could also do a access(R_OK) check on the eventual target, as a sanity check that we're likely to be able to complete the rename() later. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|