[libvirt] [PATCH 2/7] qemu_cgroup: Kill qemuSetupHostSCSIDeviceCgroup

Marc-André Lureau marcandre.lureau at gmail.com
Thu Feb 16 12:11:32 UTC 2017


On Fri, Feb 10, 2017 at 6:57 PM Michal Privoznik <mprivozn at redhat.com>
wrote:

> There's no need for this function. Currently it is passed as a
> callback to virSCSIDeviceFileIterate(). However, SCSI devices
> have just one file path. Therefore we can mimic approach used in
> qemuDomainGetHostdevPath() to get path and call
> virCgroupAllowDevicePath() directly.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>


Reviewed-by: Marc-André Lureau <marcandre.lureau at redhat.com>



> ---
>  src/qemu/qemu_cgroup.c | 38 +++++++++++++-------------------------
>  1 file changed, 13 insertions(+), 25 deletions(-)
>
> diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
> index 7302c43ee..6017da662 100644
> --- a/src/qemu/qemu_cgroup.c
> +++ b/src/qemu/qemu_cgroup.c
> @@ -260,28 +260,6 @@ qemuSetupInputCgroup(virDomainObjPtr vm,
>  }
>
>
> -static int
> -qemuSetupHostSCSIDeviceCgroup(virSCSIDevicePtr dev ATTRIBUTE_UNUSED,
> -                              const char *path,
> -                              void *opaque)
> -{
> -    virDomainObjPtr vm = opaque;
> -    qemuDomainObjPrivatePtr priv = vm->privateData;
> -    int ret;
> -
> -    VIR_DEBUG("Process path '%s' for SCSI device", path);
> -
> -    ret = virCgroupAllowDevicePath(priv->cgroup, path,
> -                                   virSCSIDeviceGetReadonly(dev) ?
> -                                   VIR_CGROUP_DEVICE_READ :
> -                                   VIR_CGROUP_DEVICE_RW, false);
> -
> -    virDomainAuditCgroupPath(vm, priv->cgroup, "allow", path,
> -                             virSCSIDeviceGetReadonly(dev) ? "r" : "rw",
> ret == 0);
> -
> -    return ret;
> -}
> -
>  static int
>  qemuSetupHostSCSIVHostDeviceCgroup(virSCSIVHostDevicePtr dev
> ATTRIBUTE_UNUSED,
>                                     const char *path,
> @@ -395,9 +373,19 @@ qemuSetupHostdevCgroup(virDomainObjPtr vm,
>                                               dev->shareable)) == NULL)
>                      goto cleanup;
>
> -                if (virSCSIDeviceFileIterate(scsi,
> -
>  qemuSetupHostSCSIDeviceCgroup,
> -                                             vm) < 0)
> +                if (VIR_STRDUP(path, virSCSIDeviceGetPath(scsi)) < 0)
> +                    goto cleanup;
> +
> +                VIR_DEBUG("Process path '%s' for SCSI device", path);
> +                rv = virCgroupAllowDevicePath(priv->cgroup, path,
> +
> virSCSIDeviceGetReadonly(scsi) ?
> +                                              VIR_CGROUP_DEVICE_READ :
> +                                              VIR_CGROUP_DEVICE_RW,
> false);
> +
> +                virDomainAuditCgroupPath(vm, priv->cgroup, "allow", path,
> +                                         virSCSIDeviceGetReadonly(scsi) ?
> "r" : "rw",
> +                                         rv == 0);
> +                if (rv < 0)
>                      goto cleanup;
>              }
>              break;
> --
> 2.11.0
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>
-- 
Marc-André Lureau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170216/79224a6d/attachment-0001.htm>


More information about the libvir-list mailing list