qemu_cgroup: Kill qemuSetupHostSCSIDeviceCgroup
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@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
parent
4d7d1c4bc3
commit
7bb01ed3cd
@ -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
|
static int
|
||||||
qemuSetupHostSCSIVHostDeviceCgroup(virSCSIVHostDevicePtr dev ATTRIBUTE_UNUSED,
|
qemuSetupHostSCSIVHostDeviceCgroup(virSCSIVHostDevicePtr dev ATTRIBUTE_UNUSED,
|
||||||
const char *path,
|
const char *path,
|
||||||
@ -395,9 +373,19 @@ qemuSetupHostdevCgroup(virDomainObjPtr vm,
|
|||||||
dev->shareable)) == NULL)
|
dev->shareable)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virSCSIDeviceFileIterate(scsi,
|
if (VIR_STRDUP(path, virSCSIDeviceGetPath(scsi)) < 0)
|
||||||
qemuSetupHostSCSIDeviceCgroup,
|
goto cleanup;
|
||||||
vm) < 0)
|
|
||||||
|
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;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user