qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] raw-posix.c: remove raw device access for cdrom


From: Laurent Vivier
Subject: Re: [Qemu-devel] [PATCH] raw-posix.c: remove raw device access for cdrom
Date: Thu, 02 Jul 2015 16:33:53 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0


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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]