From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59222) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wuj9p-0005hs-OS for qemu-devel@nongnu.org; Wed, 11 Jun 2014 10:05:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wuj9i-0007Op-91 for qemu-devel@nongnu.org; Wed, 11 Jun 2014 10:05:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:65029) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wuj9h-0007Oh-VI for qemu-devel@nongnu.org; Wed, 11 Jun 2014 10:05:34 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5BE5XtG018211 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 11 Jun 2014 10:05:33 -0400 From: Kevin Wolf Date: Wed, 11 Jun 2014 16:05:00 +0200 Message-Id: <1402495503-4722-7-git-send-email-kwolf@redhat.com> In-Reply-To: <1402495503-4722-1-git-send-email-kwolf@redhat.com> References: <1402495503-4722-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH 6/9] block: Inline bdrv_file_open() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, armbru@redhat.com, stefanha@redhat.com It doesn't do much any more, we can move the code to bdrv_open() now. Signed-off-by: Kevin Wolf --- block.c | 51 +++++++++++---------------------------------------- 1 file changed, 11 insertions(+), 40 deletions(-) diff --git a/block.c b/block.c index 2aa0a56..034656f 100644 --- a/block.c +++ b/block.c @@ -1126,44 +1126,6 @@ static int bdrv_fill_options(QDict **options, const char **pfilename, int flags, return 0; } -/* - * Opens a file using a protocol (file, host_device, nbd, ...) - * - * options is an indirect pointer to a QDict of options to pass to the block - * drivers, or pointer to NULL for an empty set of options. If this function - * takes ownership of the QDict reference, it will set *options to NULL; - * otherwise, it will contain unused/unrecognized options after this function - * returns. Then, the caller is responsible for freeing it. If it intends to - * reuse the QDict, QINCREF() should be called beforehand. - */ -static int bdrv_file_open(BlockDriverState *bs, BlockDriver *drv, - QDict **options, int flags, Error **errp) -{ - const char *filename; - Error *local_err = NULL; - int ret; - - filename = qdict_get_try_str(*options, "filename"); - - /* Open the file */ - if (!drv->bdrv_file_open) { - ret = bdrv_open(&bs, filename, NULL, *options, flags, drv, &local_err); - *options = NULL; - } else { - ret = bdrv_open_common(bs, NULL, *options, flags, drv, &local_err); - } - if (ret < 0) { - error_propagate(errp, local_err); - goto fail; - } - - bs->growable = 1; - return 0; - -fail: - return ret; -} - void bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd) { @@ -1494,9 +1456,18 @@ int bdrv_open(BlockDriverState **pbs, const char *filename, /* Open the image */ if (flags & BDRV_O_PROTOCOL) { - ret = bdrv_file_open(bs, drv, &options, flags & ~BDRV_O_PROTOCOL, - &local_err); + if (!drv->bdrv_file_open) { + const char *filename; + filename = qdict_get_try_str(options, "filename"); + ret = bdrv_open(&bs, filename, NULL, options, + flags & ~BDRV_O_PROTOCOL, drv, &local_err); + options = NULL; + } else { + ret = bdrv_open_common(bs, NULL, options, + flags & ~BDRV_O_PROTOCOL, drv, &local_err); + } if (!ret) { + bs->growable = 1; goto done; } else if (bs->drv) { goto close_and_fail; -- 1.8.3.1