From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45060 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OMR46-0000e3-M6 for qemu-devel@nongnu.org; Wed, 09 Jun 2010 15:35:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OMR45-0005rL-GZ for qemu-devel@nongnu.org; Wed, 09 Jun 2010 15:35:54 -0400 Received: from mail-iw0-f173.google.com ([209.85.214.173]:56968) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OMR45-0005r9-Db for qemu-devel@nongnu.org; Wed, 09 Jun 2010 15:35:53 -0400 Received: by iwn10 with SMTP id 10so2106790iwn.4 for ; Wed, 09 Jun 2010 12:35:52 -0700 (PDT) Message-ID: <4C0FED14.1010607@codemonkey.ws> Date: Wed, 09 Jun 2010 14:35:48 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Add an error_report when failing to open due to block-drv-whitelist References: <20100609192809.GX5280@us.ibm.com> In-Reply-To: <20100609192809.GX5280@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ryan Harper Cc: qemu-devel@nongnu.org On 06/09/2010 02:28 PM, Ryan Harper wrote: > 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 > Do you really have to say raw and file in the whitelist? Is that what the source of the problem is? Regards, Anthony Liguori > 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; > } > >