Il 16/09/2013 03:34, Rusty Russell ha scritto:
>> > The default WCE=0 semantics should be that the host ensures every write
>> > reaches stable storage.
> Here's the problem: I don't think anyone will really implement this.
>
> lguest certainly doesn't flush every write, not bhyve. Xen famously
> didn't. I can't see where qemu does it either, but it could be buried
> in the aio stuff?
>
It's here in block.c's bdrv_co_do_writev:
if (ret < 0) {
/* Do nothing, write notifier decided to fail this request */
} else if (flags & BDRV_REQ_ZERO_WRITE) {
ret = bdrv_co_do_write_zeroes(bs, sector_num, nb_sectors);
} else {
ret = drv->bdrv_co_writev(bs, sector_num, nb_sectors, qiov);
}
if (ret == 0 && !bs->enable_write_cache) {
ret = bdrv_co_flush(bs);
}
Paolo