From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54051) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z87FL-00062B-JA for qemu-devel@nongnu.org; Thu, 25 Jun 2015 09:31:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z87FG-00023d-7X for qemu-devel@nongnu.org; Thu, 25 Jun 2015 09:31:15 -0400 Date: Thu, 25 Jun 2015 14:31:06 +0100 From: Stefan Hajnoczi Message-ID: <20150625133106.GL4419@stefanha-thinkpad.redhat.com> References: <3B3C7431-1003-4AAA-90AF-0E1A154DFBE2@gmail.com> <5589A026.5020800@redhat.com> <455CF92B-58FA-446D-9EB0-42661C23B739@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="5VuzLDXibKSJvVYD" Content-Disposition: inline In-Reply-To: <455CF92B-58FA-446D-9EB0-42661C23B739@gmail.com> Subject: Re: [Qemu-devel] [Qemu-block] [PATCH] block.c: fix real cdrom detection List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Programmingkid Cc: Kevin Wolf , Peter Maydell , John Snow , qemu-devel qemu-devel , Qemu-block --5VuzLDXibKSJvVYD Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 23, 2015 at 02:26:51PM -0400, Programmingkid wrote: >=20 > On Jun 23, 2015, at 2:06 PM, John Snow wrote: >=20 > >=20 > >=20 > > On 06/23/2015 01:56 PM, Programmingkid wrote: > >> Fix real cdrom detection so that a real cdrom can actually be used. > >>=20 > >> signed-off-by: John Arbuckle >> > > >>=20 > >> This patch has been tested on Mac OS X host and guest.=20 > >> Command used: qemu-system-ppc -cdrom /dev/cdrom > >>=20 > >> Note: I was able to view the files using OpenBIOS, but not on=20 > >> Mac OS X. The size of the disc is reported correctly but some > >> error happens that prevents it from mounting in Mac OS X. This > >> is probably another bug with QEMU. > >>=20 > >> --- > >> block.c | 3 ++- > >> 1 files changed, 2 insertions(+), 1 deletions(-) > >>=20 > >> diff --git a/block.c b/block.c > >> index dd4f58d..75ccfad 100644 > >> --- a/block.c > >> +++ b/block.c > >> @@ -583,7 +583,8 @@ static int find_image_format(BlockDriverState *bs, > >> const char *filename, > >> int ret =3D 0; > >>=20 > >>=20 > >>=20 > >> /* Return the raw BlockDriver * to scsi-generic devices or empty > >> drives */ > >> - if (bs->sg || !bdrv_is_inserted(bs) || bdrv_getlength(bs) =3D=3D = 0) { > >> + if (bs->sg || !bdrv_is_inserted(bs) || bdrv_getlength(bs) =3D=3D = 0=20 > >> + || strcmp("/dev/cdrom", filename) =3D=3D 0) { > >> *pdrv =3D &bdrv_raw; > >> return ret; > >> } > >> --=20 > >> 1.7.5.4 > >>=20 > >=20 > > So what's the issue that this patch attempts to fix and how did you > > determine that the fix was needed here? It doesn't look like it respects > > proper abstraction at a glance. >=20 > Without the patch, QEMU would just quit when the "-cdrom /dev/cdrom" opti= on is given. Why does it quit? --5VuzLDXibKSJvVYD Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVjAKaAAoJEJykq7OBq3PI+QUIAJMXx0QqlWxHurxL2rnJ1DPN V+h2e0UF0F52XIDjcdWxwVAPADl6yRtBRDt0joDe/97XqyZKkHYKop/+NrA1udU8 UnU8RLUYjxAhD1PMbIoAPzLYZBOuNJF9usJ8oLrDrkP8FYaxlF57lv6QOlJl6oxR nb/UTDpc7BGyp0UpyC1++BT9HdchXMmVLVEfyenY0iogT48LceMfG0t/YbyPJfJc fP9YjKwBvN5zGLsZEV29+1WYiU8OhmisRTaV+wfs3l+VwXuSLuAQHz6NCWqzA0PH kFt+mWf/3EuUGdLbfp9WxaxySiZTN7LItxuw72DRZGFhfNrTv36gYj+lDouviU8= =22vV -----END PGP SIGNATURE----- --5VuzLDXibKSJvVYD--