struct qemuDomainAttachDeviceMknodData {
virQEMUDriverPtr driver;
virDomainObjPtr vm;
- virDomainDeviceDefPtr devDef;
const char *file;
const char *target;
struct stat sb;
static int
qemuDomainAttachDeviceMknodRecursive(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- virDomainDeviceDefPtr devDef,
const char *file,
unsigned int ttl)
{
data.driver = driver;
data.vm = vm;
- data.devDef = devDef;
data.file = file;
if (lstat(file, &data.sb) < 0) {
}
if (isLink &&
- qemuDomainAttachDeviceMknodRecursive(driver, vm, devDef,
- target, ttl -1) < 0)
+ qemuDomainAttachDeviceMknodRecursive(driver, vm, target, ttl -1) < 0)
goto cleanup;
ret = 0;
static int
qemuDomainAttachDeviceMknod(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- virDomainDeviceDefPtr devDef,
const char *file)
{
long symloop_max = sysconf(_SC_SYMLOOP_MAX);
- return qemuDomainAttachDeviceMknodRecursive(driver, vm, devDef,
- file, symloop_max);
+ return qemuDomainAttachDeviceMknodRecursive(driver, vm, file, symloop_max);
}
static int
qemuDomainDetachDeviceUnlink(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr vm,
- virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
const char *file)
{
if (virProcessRunInMountNamespace(vm->pid,
virDomainObjPtr vm,
virDomainDiskDefPtr disk)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_DISK, .data.disk = disk};
virStorageSourcePtr next;
const char *src = NULL;
struct stat sb;
if (qemuDomainAttachDeviceMknod(driver,
vm,
- &dev,
next->path) < 0)
goto cleanup;
}
virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_HOSTDEV, .data.hostdev = hostdev};
int ret = -1;
char *path = NULL;
if (qemuDomainAttachDeviceMknod(driver,
vm,
- &dev,
path) < 0)
goto cleanup;
ret = 0;
virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_HOSTDEV, .data.hostdev = hostdev};
int ret = -1;
char *path = NULL;
goto cleanup;
}
- if (qemuDomainDetachDeviceUnlink(driver, vm, &dev, path) < 0)
+ if (qemuDomainDetachDeviceUnlink(driver, vm, path) < 0)
goto cleanup;
ret = 0;
virDomainObjPtr vm,
virDomainChrDefPtr chr)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_CHR, .data.chr = chr};
const char *path;
int ret = -1;
if (qemuDomainAttachDeviceMknod(driver,
vm,
- &dev,
path) < 0)
goto cleanup;
ret = 0;
virDomainObjPtr vm,
virDomainChrDefPtr chr)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_CHR, .data.chr = chr};
int ret = -1;
const char *path = NULL;
path = chr->source->data.file.path;
- if (qemuDomainDetachDeviceUnlink(driver, vm, &dev, path) < 0)
+ if (qemuDomainDetachDeviceUnlink(driver, vm, path) < 0)
goto cleanup;
ret = 0;
virDomainObjPtr vm,
virDomainRNGDefPtr rng)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_RNG, .data.rng = rng};
const char *path = NULL;
int ret = -1;
if (qemuDomainAttachDeviceMknod(driver,
vm,
- &dev,
path) < 0)
goto cleanup;
ret = 0;
virDomainObjPtr vm,
virDomainRNGDefPtr rng)
{
- virDomainDeviceDef dev = {.type = VIR_DOMAIN_DEVICE_RNG, .data.rng = rng};
int ret = -1;
const char *path = NULL;
goto cleanup;
}
- if (qemuDomainDetachDeviceUnlink(driver, vm, &dev, path) < 0)
+ if (qemuDomainDetachDeviceUnlink(driver, vm, path) < 0)
goto cleanup;
ret = 0;