Stefano, George,
This patch only impacts the PV backend in QEMU, not the IDE interface.
PV frontends and backends always disconnect and reconnect during
save/restore.
So we can be *certain* that bdrv_close at the sender side is called
before the new connection is established at the receiver side.
Unfortunately the QEMU PV backend opens the disk during initialization,
so before the actual connection is established (blk_init).
Therefore I think that the current change is not safe, but it is pretty
easy to make it safe.
You just need to move the call to blk_open from blk_init to blk_connect.
Actually you can move most of blk_init to blk_connect, you just need to
keep the 4 xenstore_write_be_int at the end of the function.
Stefano: do you want me to come up with a patch to do this?
--On 19 March 2013 15:29:36 +0000 George Dunlap
<george.dun...@eu.citrix.com> wrote:
Alex, the title of the changelog should certainly be more specific, so
people aren't confused. Maybe something like the following?
"Disable use of O_DIRECT when acting as a Xen PV backend"
And emphasizing in the changelog that this has no effect on qemu when
acting as a device model for Xen?
Sure, I can do that.
However, my understanding (possibly incorrect) is that when qemu is
acting as a device model for xen (i.e. emulated disks) it doesn't
use O_DIRECT anyway. I am aware this is a different problem!
--
Alex Bligh