From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52528) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZcK9-00054b-HS for qemu-devel@nongnu.org; Thu, 02 Oct 2014 05:05:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XZcK2-0002St-R3 for qemu-devel@nongnu.org; Thu, 02 Oct 2014 05:05:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41243) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZcK2-0002Rd-J9 for qemu-devel@nongnu.org; Thu, 02 Oct 2014 05:05:14 -0400 From: Markus Armbruster Date: Thu, 2 Oct 2014 11:04:56 +0200 Message-Id: <1412240698-21695-22-git-send-email-armbru@redhat.com> In-Reply-To: <1412240698-21695-1-git-send-email-armbru@redhat.com> References: <1412240698-21695-1-git-send-email-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v5 21/23] blockdev: Convert qmp_eject(), qmp_change_blockdev() to BlockBackend List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, benoit.canet@nodalink.com, stefanha@redhat.com, mreitz@redhat.com Much more command code needs conversion. I'm converting these now because they're using bdrv_dev_* functions, which I'm about to lift into BlockBackend. Signed-off-by: Markus Armbruster Reviewed-by: Beno=C3=AEt Canet Reviewed-by: Max Reitz Reviewed-by: Kevin Wolf --- blockdev.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/blockdev.c b/blockdev.c index 7bbde75..4389575 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1528,8 +1528,10 @@ exit: } =20 =20 -static void eject_device(BlockDriverState *bs, int force, Error **errp) +static void eject_device(BlockBackend *blk, int force, Error **errp) { + BlockDriverState *bs =3D blk_bs(blk); + if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_EJECT, errp)) { return; } @@ -1553,15 +1555,15 @@ static void eject_device(BlockDriverState *bs, in= t force, Error **errp) =20 void qmp_eject(const char *device, bool has_force, bool force, Error **e= rrp) { - BlockDriverState *bs; + BlockBackend *blk; =20 - bs =3D bdrv_find(device); - if (!bs) { + blk =3D blk_by_name(device); + if (!blk) { error_set(errp, QERR_DEVICE_NOT_FOUND, device); return; } =20 - eject_device(bs, force, errp); + eject_device(blk, force, errp); } =20 void qmp_block_passwd(bool has_device, const char *device, @@ -1620,16 +1622,18 @@ static void qmp_bdrv_open_encrypted(BlockDriverSt= ate *bs, const char *filename, void qmp_change_blockdev(const char *device, const char *filename, const char *format, Error **errp) { + BlockBackend *blk; BlockDriverState *bs; BlockDriver *drv =3D NULL; int bdrv_flags; Error *err =3D NULL; =20 - bs =3D bdrv_find(device); - if (!bs) { + blk =3D blk_by_name(device); + if (!blk) { error_set(errp, QERR_DEVICE_NOT_FOUND, device); return; } + bs =3D blk_bs(blk); =20 if (format) { drv =3D bdrv_find_whitelisted_format(format, bs->read_only); @@ -1639,7 +1643,7 @@ void qmp_change_blockdev(const char *device, const = char *filename, } } =20 - eject_device(bs, 0, &err); + eject_device(blk, 0, &err); if (err) { error_propagate(errp, err); return; --=20 1.9.3