From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=59213 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OMQwn-0005fl-JI for qemu-devel@nongnu.org; Wed, 09 Jun 2010 15:28:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OMQwm-0004RA-DH for qemu-devel@nongnu.org; Wed, 09 Jun 2010 15:28:21 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:48412) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OMQwm-0004Q9-8P for qemu-devel@nongnu.org; Wed, 09 Jun 2010 15:28:20 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id o59JKl1h015536 for ; Wed, 9 Jun 2010 13:20:47 -0600 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id o59JSERv247614 for ; Wed, 9 Jun 2010 13:28:14 -0600 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id o59JSDEs000421 for ; Wed, 9 Jun 2010 13:28:13 -0600 Received: from localhost.localdomain (frylock.austin.ibm.com [9.53.41.12]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id o59JSDiR000414 for ; Wed, 9 Jun 2010 13:28:13 -0600 Date: Wed, 9 Jun 2010 14:28:09 -0500 From: Ryan Harper Message-ID: <20100609192809.GX5280@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH] Add an error_report when failing to open due to block-drv-whitelist List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org When configure qemu with --block-drv-whitelist we don't report when we are blocked by the white list and the resulting error message is misleading: ./configure --target-list=x86_64-softmmu \ --block-drv-whitelist=qcow2,raw,host_device,host_cdrom x86_64-softmmu/qemu-system-x86_64 -L pc-bios -m 512 -drive \ file=fedora9_32_20G.qcow2,if=ide -monitor stdio qemu: could not open disk image fedora9_32_20G.qcow2: Inappropriate ioctl for device Which might lead one to look at the bdrv probe functions for floppy/cdrom because we indeed will get an ioctl failure stored in errno and we report this in vl.c when we get a non-zero return value from bdrv_open(). This patch adds an error report when we fail the whitelist and changes the errno value to ENOPROTOOPT which was the closest thing I could think of that matched the actual error. Now we get the following output on whitelist failure: x86_64-softmmu/qemu-system-x86_64 -L pc-bios -m 512 -drive \ file=fedora9_32_20G.qcow2,if=ide -monitor stdio qemu-system-x86_64: -drive file=fedora9_32_20G.qcow2,if=ide: block-drv-whitelist prevents using format 'file' qemu: could not open disk image fedora9_32_20G.qcow2: Protocol not supported Signed-off-by: Ryan Harper --- block.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/block.c b/block.c index 39724c1..ffcf7f2 100644 --- a/block.c +++ b/block.c @@ -403,6 +403,9 @@ static int bdrv_open_common(BlockDriverState *bs, const char *filename, pstrcpy(bs->filename, sizeof(bs->filename), filename); if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv)) { + error_report("block-drv-whitelist prevents using format '%s'", drv->format_name); + /* reset errno since we're failing because of whitelist restrictions */ + errno = EPROTONOSUPPORT; return -ENOTSUP; } -- 1.6.3.3 -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx ryanh@us.ibm.com