From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:42991) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qm4xW-0001b3-Oy for qemu-devel@nongnu.org; Wed, 27 Jul 2011 10:19:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qm4xS-00047Y-Ay for qemu-devel@nongnu.org; Wed, 27 Jul 2011 10:19:38 -0400 Received: from mail-vx0-f173.google.com ([209.85.220.173]:59851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qm4xS-00047M-2w for qemu-devel@nongnu.org; Wed, 27 Jul 2011 10:19:34 -0400 Received: by vxi29 with SMTP id 29so1317750vxi.4 for ; Wed, 27 Jul 2011 07:19:33 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20110727113014.25109.58868.sendpatchset@skannery> References: <20110727113000.25109.16204.sendpatchset@skannery> <20110727113014.25109.58868.sendpatchset@skannery> Date: Wed, 27 Jul 2011 15:19:33 +0100 Message-ID: From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [V5 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: Supriya Kannery Cc: Kevin Wolf , qemu-devel@nongnu.org, Christoph Hellwig On Wed, Jul 27, 2011 at 12:30 PM, Supriya Kannery wrote: > Enhance "info block" to display hostcache setting for each > block device. > > Example: > (qemu) info block > ide0-hd0: type=3Dhd removable=3D0 file=3D../rhel6-32.qcow2 ro=3D0 drv=3Dq= cow2 > encrypted=3D0 > > Enhanced to display "hostcache" setting: > (qemu) info block > ide0-hd0: type=3Dhd removable=3D0 hostcache=3Dtrue file=3D../rhel6-32.qco= w2 > ro=3D0 drv=3Dqcow2 encrypted=3D0 This description is outdated, should be hostcache=3D1 instead of hostcache= =3Dtrue. > @@ -1749,13 +1757,18 @@ void bdrv_info(Monitor *mon, QObject **r > =A0 =A0 =A0 =A0 QObject *bs_obj; > > =A0 =A0 =A0 =A0 bs_obj =3D qobject_from_jsonf("{ 'device': %s, 'type': 'u= nknown', " > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= "'removable': %i, 'locked': %i }", > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= bs->device_name, bs->removable, > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= bs->locked); > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= "'removable': %i, 'locked': %i, " > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= "'hostcache': %s }", > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= bs->device_name, bs->removable, > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= bs->locked, > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= (bs->open_flags & BDRV_O_NOCACHE) ? > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= "false" : "true"); Please use the same bool-from-int format specifier ('%i') as the other fields for consistency. The value can be !(bs->open_flags & BDRV_O_NOCACHE). > + > + =A0 =A0 =A0 =A0QDict *bs_dict =3D qobject_to_qdict(bs_obj); > + =A0 =A0 =A0 =A0qdict_put(bs_dict, "open_flags", qint_from_int(bs->open_= flags)); > > =A0 =A0 =A0 =A0 if (bs->drv) { > =A0 =A0 =A0 =A0 =A0 =A0 QObject *obj; > - =A0 =A0 =A0 =A0 =A0 =A0QDict *bs_dict =3D qobject_to_qdict(bs_obj); > > =A0 =A0 =A0 =A0 =A0 =A0 obj =3D qobject_from_jsonf("{ 'file': %s, 'ro': %= i, 'drv': %s, " > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0"'encrypted': %i }", My copy of the code has the following a few lines further down: qdict_put_obj(bs_dict, "inserted", obj); Removing bs_dict would break the build. Am I missing something? > Index: qemu/qmp-commands.hx > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- qemu.orig/qmp-commands.hx > +++ qemu/qmp-commands.hx > @@ -1131,6 +1131,7 @@ Each json-object contain the following: > =A0 =A0 =A0 =A0 =A0- Possible values: "unknown" > =A0- "removable": true if the device is removable, false otherwise (json-= bool) > =A0- "locked": true if the device is locked, false otherwise (json-bool) > +- "hostcache": true if hostcache enabled, false otherwise (json-bool) Let's explain what "hostcache" means: - "hostcache": true if host page cache is enabled, false otherwise (json-bo= ol) Stefan