From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAfYw-0007CF-Ku for qemu-devel@nongnu.org; Thu, 02 Jul 2015 10:34:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAfYv-0005l6-Na for qemu-devel@nongnu.org; Thu, 02 Jul 2015 10:34:02 -0400 Message-ID: <55954BD1.5040406@redhat.com> Date: Thu, 02 Jul 2015 16:33:53 +0200 From: Laurent Vivier MIME-Version: 1.0 References: <55952D97.7040009@redhat.com> <559540F6.9090800@redhat.com> <55954384.9010906@redhat.com> <559544C4.4050809@redhat.com> <55954836.3060700@redhat.com> <55954895.7060005@redhat.com> In-Reply-To: <55954895.7060005@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] raw-posix.c: remove raw device access for cdrom List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Stefan Hajnoczi , Programmingkid Cc: Kevin Wolf , Peter Maydell , John Snow , qemu-devel qemu-devel , Qemu-block On 02/07/2015 16:20, Paolo Bonzini wrote: > > > On 02/07/2015 16:18, Laurent Vivier wrote: >>>> I'm okay with doing the simple thing, but it needs a comment for non-BSDers. >> So, what we have to do, in our case, for MacOS X cdrom, is something like: >> >> ... GetBSDPath ... >> ... >> if (flags & BDRV_O_NOCACHE) { >> strcat(bsdPath, "r"); >> } >> ... >> >> ? > > Well, what to do with Mac OS X CD-ROM is another story... Raw access > "seems not do work well" according to John, so we may have a comment > there explaining why we're not adding the "r". I think it doesn't work well because they need to be aligned, and NOCACHE implies that (with BDRV_O_NOCACHE code will be self explicit :) ) raw_open_common() if ((bs->open_flags & BDRV_O_NOCACHE) != 0) { s->needs_alignment = true; } and needs_alignment allows to probe alignment (raw_probe_alignment()) > A FIXME comment saying "we should probe for alignment here" would be > placed where you check S_ISCHR and set need_alignment to true. It is another case, in the previous case (MacOS cdrom), user provides "-cdrom /dev/cdrom" and QEMU extracts /dev/rdiskX (or now /dev/diskX) from the system DB. In the FreeBSD case, user provides /dev/diskX or /dev/rdiskX, and QEMU must know if it needs alignment or not. I don't think we need more comment here. Laurent