On Sat, 16 Jun 2012 02:17:30 +0530
Supriya Kannery<address@hidden> wrote:
New command "block_set_hostcache" added for dynamically changing
host pagecache setting of a block device.
Usage:
block_set_hostcache<device> <option>
<device> = block device
<option> = on/off
Example:
(qemu) block_set_hostcache ide0-hd0 off
Signed-off-by: Supriya Kannery<address@hidden>
---
block.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
block.h | 2 ++
blockdev.c | 26 ++++++++++++++++++++++++++
blockdev.h | 2 ++
hmp-commands.hx | 14 ++++++++++++++
qmp-commands.hx | 27 +++++++++++++++++++++++++++
6 files changed, 125 insertions(+)
Index: qemu/block.c
===================================================================
--- qemu.orig/block.c
+++ qemu/block.c
@@ -858,6 +858,35 @@ unlink_and_fail:
return ret;
}
+int bdrv_reopen(BlockDriverState *bs, int bdrv_flags)
+{
+ BlockDriver *drv = bs->drv;
+ int ret = 0, open_flags;
+
+ /* Quiesce IO for the given block device */
+ qemu_aio_flush();
+ ret = bdrv_flush(bs);
+ if (ret != 0) {
+ qerror_report(QERR_DATA_SYNC_FAILED, bs->device_name);
Please, use error_set() instead of qerror_report() and as Kevin said IOError
seems enough here.