From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:36193) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpE9A-00052y-6F for qemu-devel@nongnu.org; Fri, 05 Aug 2011 02:44:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QpE99-0002H0-1t for qemu-devel@nongnu.org; Fri, 05 Aug 2011 02:44:40 -0400 Received: from e2.ny.us.ibm.com ([32.97.182.142]:35602) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpE98-0002Gp-Va for qemu-devel@nongnu.org; Fri, 05 Aug 2011 02:44:39 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e2.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p756NAUr007879 for ; Fri, 5 Aug 2011 02:23:10 -0400 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p756icNV220756 for ; Fri, 5 Aug 2011 02:44:38 -0400 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p750iAFT011640 for ; Thu, 4 Aug 2011 18:44:10 -0600 From: Supriya Kannery Date: Fri, 05 Aug 2011 12:26:19 +0530 Message-Id: <20110805065619.5829.8214.sendpatchset@skannery> In-Reply-To: <20110805065603.5829.56173.sendpatchset@skannery> References: <20110805065603.5829.56173.sendpatchset@skannery> Subject: [Qemu-devel] [v6 Patch 1/4]Qemu: Enhance "info block" to display host cache setting List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi , Christoph Hellwig Enhance "info block" to display hostcache setting for each block device. Example: (qemu) info block ide0-hd0: type=hd removable=0 file=../rhel6-32.qcow2 ro=0 drv=qcow2 encrypted=0 Enhanced to display "hostcache" setting: (qemu) info block ide0-hd0: type=hd removable=0 hostcache=1 file=../rhel6-32.qcow2 ro=0 drv=qcow2 encrypted=0 Signed-off-by: Supriya Kannery --- block.c | 20 ++++++++++++++++---- qmp-commands.hx | 2 ++ 2 files changed, 18 insertions(+), 4 deletions(-) Index: qemu/block.c =================================================================== --- qemu.orig/block.c +++ qemu/block.c @@ -1812,6 +1812,14 @@ static void bdrv_print_dict(QObject *obj monitor_printf(mon, " locked=%d", qdict_get_bool(bs_dict, "locked")); } + if (qdict_haskey(bs_dict, "open_flags")) { + int open_flags = qdict_get_int(bs_dict, "open_flags"); + if (open_flags & BDRV_O_NOCACHE) + monitor_printf(mon, " hostcache=0"); + else + monitor_printf(mon, " hostcache=1"); + } + if (qdict_haskey(bs_dict, "inserted")) { QDict *qdict = qobject_to_qdict(qdict_get(bs_dict, "inserted")); @@ -1848,13 +1856,17 @@ void bdrv_info(Monitor *mon, QObject **r QObject *bs_obj; bs_obj = qobject_from_jsonf("{ 'device': %s, 'type': 'unknown', " - "'removable': %i, 'locked': %i }", - bs->device_name, bs->removable, - bs->locked); + "'removable': %i, 'locked': %i, " + "'hostcache': %i }", + bs->device_name, bs->removable, + bs->locked, + !(bs->open_flags & BDRV_O_NOCACHE)); + + QDict *bs_dict = qobject_to_qdict(bs_obj); + qdict_put(bs_dict, "open_flags", qint_from_int(bs->open_flags)); if (bs->drv) { QObject *obj; - QDict *bs_dict = qobject_to_qdict(bs_obj); obj = qobject_from_jsonf("{ 'file': %s, 'ro': %i, 'drv': %s, " "'encrypted': %i }", Index: qemu/qmp-commands.hx =================================================================== --- qemu.orig/qmp-commands.hx +++ qemu/qmp-commands.hx @@ -1131,6 +1131,7 @@ Each json-object contain the following: - Possible values: "unknown" - "removable": true if the device is removable, false otherwise (json-bool) - "locked": true if the device is locked, false otherwise (json-bool) +- "hostcache": true if host pagecache enabled, false otherwise (json-bool) - "inserted": only present if the device is inserted, it is a json-object containing the following: - "file": device file name (json-string) @@ -1152,6 +1153,7 @@ Example: { "device":"ide0-hd0", "locked":false, + "hostcache":false, "removable":false, "inserted":{ "ro":false,