From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37405) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZuOah-0000h3-V0 for qemu-devel@nongnu.org; Thu, 05 Nov 2015 12:44:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZuOag-0003f5-RT for qemu-devel@nongnu.org; Thu, 05 Nov 2015 12:44:51 -0500 References: <1446663467-22485-1-git-send-email-mreitz@redhat.com> <1446663467-22485-15-git-send-email-mreitz@redhat.com> <563B8EBA.8070506@redhat.com> <563B93BD.2080805@redhat.com> <563B94A5.3030905@redhat.com> From: Eric Blake Message-ID: <563B9586.4020201@redhat.com> Date: Thu, 5 Nov 2015 10:44:38 -0700 MIME-Version: 1.0 In-Reply-To: <563B94A5.3030905@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="5k3mLk4ir4bPgcW7dPTOI18iu4jxR2tKm" Subject: Re: [Qemu-devel] [PATCH v6 14/15] block: Rewrite bdrv_close_all() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Max Reitz , qemu-block@nongnu.org Cc: Kevin Wolf , Alberto Garcia , qemu-devel@nongnu.org, Stefan Hajnoczi , Markus Armbruster This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --5k3mLk4ir4bPgcW7dPTOI18iu4jxR2tKm Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 11/05/2015 10:40 AM, Paolo Bonzini wrote: >=20 >=20 > On 05/11/2015 18:37, Max Reitz wrote: >> $ x86_64-softmmu/qemu-system-x86_64 -qmp stdio \ -drive >> if=3Dnone,file=3Dtest.qcow2,id=3Ddrive0,node-name=3Dnode0 {"QMP": >> {"version": {"qemu": {"micro": 50, "minor": 4, "major": 2},=20 >> "package": ""}, "capabilities": []}}=20 >> {'execute':'qmp_capabilities'} {"return": {}}=20 >> {'execute':'drive-backup','arguments':{'device':'drive0','target':'out= =2Eqcow2','format':'qcow2','sync':'none'}} >> >> > Formatting 'out.qcow2', fmt=3Dqcow2 size=3D67108864 backing_file=3Dtest= =2Eqcow2 >> backing_fmt=3Dqcow2 encryption=3Doff cluster_size=3D65536 >> lazy_refcounts=3Doff refcount_bits=3D16 {"return": {}}=20 >> {'execute':'eject','arguments':{'device':'drive0'}} {"error": >> {"class": "GenericError", "desc": "Node 'drive0' is busy: block >> device is in use by block job: backup"}} >> >> So... Nobody does it, but apparently nobody has to because you >> cannot eject (to be more specific: use blockdev-remove-medium) a >> BDS from a BB while a block job is running on the BDS. >=20 > If you test it with all jobs, then it's okay. It's a regression, but > not introduced by your patch and apparently nobody noticed. >=20 > Even if nobody noticed, I wonder if this "Node 'foo' is busy" kind of > error deserves its own ErrorClass. Eric, what do you think? Needing a unique ErrorClass is only important if we expect a client (libvirt) would behave differently based on that error class (clients are not allowed to parse the error message). But what is the scenario that we are trying to test here, rewritten in terms of libvirt API commands? Should libvirt behave any differently because a blockjob was running than for any other failure, if the end result is still that libvirt can't eject or hot-unplug the disk because of a failure? --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --5k3mLk4ir4bPgcW7dPTOI18iu4jxR2tKm Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJWO5WGAAoJEKeha0olJ0Nq1/kIAI6OmjBWb2gU1dfqQikI8BuI CVrJY7oC1HxpZ47PQa9+qMjIBY2vntFSpeXMc5Qev3tcZIG3Gn0QwPdoDsb/X2Nc UeveLvWHPfZ5LHdRX0+lXjb5+Ck+14DeK69LYfCBvdbY22Ezn7kuG+XBEOyaPirV ObkGE0J17VuYhkdKcQJ6fnXZdVQ8UJe1+JrJbgu0S6NY88EitkW5yX84/Rva6UHV wgS44WK/YA1BI0VV2d5s9Q3rbC7fC9WQLURYmZyT7eImvkpjo6cC3aDeXaPLXoFs Ost6VkRpiiKerkzWXJ6ruCFPdBDUwhAZz/zrwEJjBXIztKI0OpvOt6EhhLcWaMw= =xTCC -----END PGP SIGNATURE----- --5k3mLk4ir4bPgcW7dPTOI18iu4jxR2tKm--