Kevin Wolf <kw...@redhat.com> writes: > Am 23.09.2011 10:55, schrieb Markus Armbruster: [...] >> Apropos enforcing. Currently, -drive accepts any werror and rerror >> action with if={ide,virtio,scsi,none}. We rely on device models not >> implementing an action to check and fail during initialization. >> scsi-generic and the floppy devices do. All the other qdevified devices >> don't, and that's broken. >> >> Are werror and rerror really host state? > > If you want to convince me of the opposite, show me the real device that > implements them.
It's an honest question. > In fact, for the implementation of rerror/werror the very same thing is > true as you say about I/O status updates. Other than being easy to > implement, there is really no reason to do it in the devices. The block > layer could just as well stop the VM and queue the requests for > resubmission when the VM is restarted. Of course, you can't keep > migration compatibility when doing such a fundamental change to the > design, but if you take the host state thing serious, this is what you > should do. Good answer. I'd love to have it spelled out in the code.