From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38658) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Um3M0-0001lj-Rj for qemu-devel@nongnu.org; Mon, 10 Jun 2013 10:45:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Um3Lz-0007nN-D5 for qemu-devel@nongnu.org; Mon, 10 Jun 2013 10:45:52 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53372 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Um3Ly-0007nB-Ru for qemu-devel@nongnu.org; Mon, 10 Jun 2013 10:45:51 -0400 Message-ID: <51B5E69D.8000002@suse.de> Date: Mon, 10 Jun 2013 16:45:49 +0200 From: =?ISO-8859-1?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <4E830D81-854D-4697-9BCC-4C51D852D132@gmail.com> <12387A41-C7DA-474B-AB20-820779E8FDC2@suse.de> <069A6C85-FB1D-4B86-BC98-5BA2455A0135@gmail.com> <51B5D777.8060104@suse.de> <51B5E13B.4030907@suse.de> <20130610143355.GK3636@dhcp-200-207.str.redhat.com> In-Reply-To: <20130610143355.GK3636@dhcp-200-207.str.redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [Qemu-ppc] real cdrom access failure List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: "qemu-devel@nongnu.org" , Stefan Hajnoczi , Alexander Graf , Programmingkid Am 10.06.2013 16:33, schrieb Kevin Wolf: > Am 10.06.2013 um 16:22 hat Andreas F=E4rber geschrieben: >> Am 10.06.2013 15:41, schrieb Alexander Graf: >>> On 06/10/2013 03:39 PM, Programmingkid wrote: >>>> On Jun 9, 2013, at 12:34 PM, Alexander Graf wrote: >>>>> On 09.06.2013, at 18:28, Programmingkid wrote: >>>>> >>>>>> I am trying to access the cdrom drive in QEMU 1.5.0, but can't. Th= is >>>>>> is the error I see: qemu-system-ppc: -cdrom /dev/cdrom: could not >>>>>> open disk image /dev/cdrom: No such file or directory. I think thi= s >>>>>> is a bug with version 1.5.0 on Mac OS X. Anybody else notice this >>>>>> problem? >>>>> Mac OS X doesn't provide a /dev/cdrom link. You have to point it >>>>> directly to the target device. To get a list of available devices, = try >>>>> >>>>> $ diskutil list >>>>> >>>>> Also make sure that all partitions and file systems on top of the >>>>> CD-ROM are unmounted (diskutil unmount or just umount), as OSX won'= t >>>>> allow direct access to /dev/disk1 otherwise. >>>> >>>> The -cdrom /dev/cdrom option always worked in the past. Just not wit= h >>>> version 1.5.0. >>> >>> Hrm. CC'ing Andreas and Peter. They're the best matches to people >>> knowing their way around OSX host support :). >> >> The translation of /dev/cdrom happens in block/raw-posix.c:hdev_open()= . >> >> For v1.5.0 a filename parameter was dropped from the block API, so >> currently the Mac OS X code is changing the local variable so the >> modified filename variable never makes it into the QDict *options. :/ >=20 > Oh nice, magic filenames. Whoever thought this was a good idea... >=20 > It's easy enough to fix, just put the string back to the QDict in the > end. It feels wrong to do something like this, but if we have been doin= g > it before, I guess we must keep doing so. block.c: * Detect host devices. By convention, /dev/cdrom[N] is always block/raw-posix.c: if (strstart(filename, "/dev/cdrom", NULL)) block/raw-posix.c: if (strstart(filename, "/dev/cdrom", NULL)) { block/raw-win32.c: if (strstart(filename, "/dev/cdrom", NULL)) block/raw-win32.c: if (strstart(filename, "/dev/cdrom", NULL)) { I happened to know about this issue because we have similar downstream block drivers that need to translate the filename and broke with v1.5. I'll look into fixing this if no one beats me to it. We'll probably need a g_strdup() since bsdPath[] is on the stack. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg