On 12/14/2012 08:45 AM, Osier Yang wrote:
> Just like for domain starting, this sets the disk's unpriv_sgio
> if cdbfilter is specified when attaching disk.
> ---
>  src/qemu/qemu_driver.c |   23 +++++++++++++++++------
>  1 files changed, 17 insertions(+), 6 deletions(-)

> +
> +        /* Set sysfs unpriv_sgio if cdbfilter is specified. */
> +        if (disk->cdbfilter) {
> +            if (virSetDeviceUnprivSGIO(disk->src, NULL,
> +                                       (disk->cdbfilter ==
> +                                       VIR_DOMAIN_DISK_CDB_FILTER_NO)
> +                                       ? 1 : 0) < 0) {
> +                VIR_WARN("Failed to set unpriv_sgio of disk '%s'", 
> disk->src);
> +                goto end;
> +            }
> +        }

Again, does this do the right thing if some other domain already had
cdbfilter='no' (aka kernel allows SG_IO) but this domain omitted the
cdbfilter attribute (which defaults to cdbfilter='yes' but does not
satisfy the if(disk->cdbfilter) condition)?  I suspect that will be
worked out when you rework things to use a tri-state rawio.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to