From patchwork Tue Oct 11 03:10:59 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Supriya Kannery X-Patchwork-Id: 118854 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id BFB0AB6F89 for ; Tue, 11 Oct 2011 14:11:19 +1100 (EST) Received: from localhost ([::1]:42759 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RDSkO-0008Ra-5I for incoming@patchwork.ozlabs.org; Mon, 10 Oct 2011 23:11:16 -0400 Received: from eggs.gnu.org ([140.186.70.92]:47622) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RDSkG-0008D8-4t for qemu-devel@nongnu.org; Mon, 10 Oct 2011 23:11:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RDSkF-0001BB-3E for qemu-devel@nongnu.org; Mon, 10 Oct 2011 23:11:08 -0400 Received: from e3.ny.us.ibm.com ([32.97.182.143]:51290) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RDSkE-0001B7-PG for qemu-devel@nongnu.org; Mon, 10 Oct 2011 23:11:06 -0400 Received: from /spool/local by us.ibm.com with XMail ESMTP for from ; Mon, 10 Oct 2011 23:11:06 -0400 Received: from d01relay05.pok.ibm.com ([9.56.227.237]) by us.ibm.com ([192.168.1.103]) with XMail ESMTP; Mon, 10 Oct 2011 23:11:03 -0400 Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay05.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p9B3B3sk192212 for ; Mon, 10 Oct 2011 23:11:03 -0400 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p9B3B29E032204 for ; Mon, 10 Oct 2011 23:11:03 -0400 Received: from skannery.in.ibm.com ([9.79.209.68]) by d01av04.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p9B3B0Fl032124; Mon, 10 Oct 2011 23:11:00 -0400 From: Supriya Kannery To: qemu-devel@nongnu.org Date: Tue, 11 Oct 2011 08:40:59 +0530 Message-Id: <20111011031059.9587.54786.sendpatchset@skannery.in.ibm.com> In-Reply-To: <20111011031046.9587.44474.sendpatchset@skannery.in.ibm.com> References: <20111011031046.9587.44474.sendpatchset@skannery.in.ibm.com> x-cbid: 11101103-8974-0000-0000-000000C38C9E X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 32.97.182.143 Cc: Kevin Wolf , Stefan Hajnoczi , Christoph Hellwig Subject: [Qemu-devel] [v7 Patch 1/5]Qemu: Enhance "info block" to display host cache setting X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Enhance "info block" to display hostcache setting for each block device. Example: (qemu) info block ide0-hd0: removable=0 file=../sles11-32.raw ro=0 drv=raw encrypted=0 Enhanced to display "hostcache" setting: (qemu) info block ide0-hd0: removable=0 hostcache=1 file=../sles11-32.raw ro=0 drv=raw encrypted=0 Signed-off-by: Supriya Kannery --- block.c | 20 ++++++++++++++++---- qmp-commands.hx | 2 ++ 2 files changed, 18 insertions(+), 4 deletions(-) Index: qemu/qmp-commands.hx =================================================================== --- qemu.orig/qmp-commands.hx +++ qemu/qmp-commands.hx @@ -1142,6 +1142,7 @@ Each json-object contain the following: - "locked": true if the device is locked, false otherwise (json-bool) - "tray-open": only present if removable, true if the device has a tray, and it is open (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) @@ -1163,6 +1164,7 @@ Example: { "device":"ide0-hd0", "locked":false, + "hostcache":false, "removable":false, "inserted":{ "ro":false, Index: qemu/block.c =================================================================== --- qemu.orig/block.c +++ qemu/block.c @@ -1866,6 +1866,15 @@ static void bdrv_print_dict(QObject *obj monitor_printf(mon, " tray-open=%d", qdict_get_bool(bs_dict, "tray-open")); } + + 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")); @@ -1903,11 +1912,14 @@ void bdrv_info(Monitor *mon, QObject **r QDict *bs_dict; bs_obj = qobject_from_jsonf("{ 'device': %s, 'type': 'unknown', " - "'removable': %i, 'locked': %i }", + "'removable': %i, 'locked': %i, " + "'hostcache': %i }", bs->device_name, bdrv_dev_has_removable_media(bs), - bdrv_dev_is_medium_locked(bs)); + bdrv_dev_is_medium_locked(bs), + !(bs->open_flags & BDRV_O_NOCACHE)); bs_dict = qobject_to_qdict(bs_obj); + qdict_put(bs_dict, "open_flags", qint_from_int(bs->open_flags)); if (bdrv_dev_has_removable_media(bs)) { qdict_put(bs_dict, "tray-open",