提交 5a2bd4c9 编写于 作者: J Julio Faracco 提交者: Eric Blake

conf: more enum cleanups in "src/conf/domain_conf.h"

In "src/conf/domain_conf.h" there are many enum declarations. The
cleanup in this header filer was started, but it wasn't enough and
there are many other files that has enum variables declared. So, the
commit was starting to be big. This commit finish the cleanup in this
header file and in other files that has enum variables, parameters,
or functions declared.
Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
Signed-off-by: NEric Blake <eblake@redhat.com>
上级 d4dad162
......@@ -67,7 +67,7 @@ virDomainAuditChardevPath(virDomainChrSourceDefPtr chr)
if (!chr)
return NULL;
switch ((enum virDomainChrType) chr->type) {
switch ((virDomainChrType) chr->type) {
case VIR_DOMAIN_CHR_TYPE_PTY:
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
......@@ -150,7 +150,7 @@ virDomainAuditRNG(virDomainObjPtr vm,
const char *virt;
if (newDef) {
switch ((enum virDomainRNGBackend) newDef->backend) {
switch ((virDomainRNGBackend) newDef->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (newDef->source.file)
newsrcpath = newDef->source.file;
......@@ -168,7 +168,7 @@ virDomainAuditRNG(virDomainObjPtr vm,
}
if (oldDef) {
switch ((enum virDomainRNGBackend) oldDef->backend) {
switch ((virDomainRNGBackend) oldDef->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (oldDef->source.file)
oldsrcpath = oldDef->source.file;
......
......@@ -1073,7 +1073,7 @@ virDomainObjPtr virDomainObjListFindByName(virDomainObjListPtr doms,
bool virDomainObjTaint(virDomainObjPtr obj,
enum virDomainTaintFlags taint)
virDomainTaintFlags taint)
{
unsigned int flag = (1 << taint);
......@@ -1124,7 +1124,7 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def)
if (!def)
return;
switch ((enum virDomainGraphicsType)def->type) {
switch ((virDomainGraphicsType)def->type) {
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
VIR_FREE(def->data.vnc.socket);
VIR_FREE(def->data.vnc.keymap);
......@@ -1505,7 +1505,7 @@ virDomainChrSourceDefIsEqual(const virDomainChrSourceDef *src,
if (tgt->type != src->type)
return false;
switch ((enum virDomainChrType)src->type) {
switch ((virDomainChrType)src->type) {
case VIR_DOMAIN_CHR_TYPE_PTY:
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
......@@ -7069,7 +7069,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
static int
virDomainChrDefaultTargetType(int devtype)
{
switch ((enum virDomainChrDeviceType) devtype) {
switch ((virDomainChrDeviceType) devtype) {
case VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL:
virReportError(VIR_ERR_XML_ERROR,
_("target type must be specified for %s device"),
......@@ -7101,7 +7101,7 @@ virDomainChrTargetTypeFromString(virDomainChrDefPtr def,
if (!targetType)
return virDomainChrDefaultTargetType(devtype);
switch ((enum virDomainChrDeviceType) devtype) {
switch ((virDomainChrDeviceType) devtype) {
case VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL:
ret = virDomainChrChannelTargetTypeFromString(targetType);
break;
......@@ -7257,7 +7257,7 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
if (!mode)
mode = virXMLPropString(cur, "mode");
switch ((enum virDomainChrType) def->type) {
switch ((virDomainChrType) def->type) {
case VIR_DOMAIN_CHR_TYPE_PTY:
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
......@@ -7338,7 +7338,7 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
cur = cur->next;
}
switch ((enum virDomainChrType) def->type) {
switch ((virDomainChrType) def->type) {
case VIR_DOMAIN_CHR_TYPE_NULL:
case VIR_DOMAIN_CHR_TYPE_VC:
case VIR_DOMAIN_CHR_TYPE_STDIO:
......@@ -9044,7 +9044,7 @@ virDomainRNGDefParseXML(xmlNodePtr node,
goto error;
}
switch ((enum virDomainRNGBackend) def->backend) {
switch ((virDomainRNGBackend) def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
def->source.file = virXPathString("string(./backend)", ctxt);
if (def->source.file &&
......@@ -10611,11 +10611,11 @@ virDomainChrEquals(virDomainChrDefPtr src,
!virDomainChrSourceDefIsEqual(&src->source, &tgt->source))
return false;
switch ((enum virDomainChrDeviceType) src->deviceType) {
switch ((virDomainChrDeviceType) src->deviceType) {
case VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL:
if (src->targetType != tgt->targetType)
return false;
switch ((enum virDomainChrChannelTargetType) src->targetType) {
switch ((virDomainChrChannelTargetType) src->targetType) {
case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO:
return STREQ_NULLABLE(src->target.name, tgt->target.name);
break;
......@@ -10671,7 +10671,7 @@ virDomainChrFind(virDomainDefPtr def,
* chrdefptr of the given type. */
static void
virDomainChrGetDomainPtrsInternal(virDomainDefPtr vmdef,
enum virDomainChrDeviceType type,
virDomainChrDeviceType type,
virDomainChrDefPtr ***arrPtr,
size_t **cntPtr)
{
......@@ -10708,7 +10708,7 @@ virDomainChrGetDomainPtrsInternal(virDomainDefPtr vmdef,
* given type. */
void
virDomainChrGetDomainPtrs(const virDomainDef *vmdef,
enum virDomainChrDeviceType type,
virDomainChrDeviceType type,
const virDomainChrDef ***arrPtr,
size_t *cntPtr)
{
......@@ -11812,7 +11812,7 @@ virDomainDefParseXML(xmlDocPtr xml,
goto error;
}
switch ((enum virDomainFeature) val) {
switch ((virDomainFeature) val) {
case VIR_DOMAIN_FEATURE_APIC:
if ((tmp = virXPathString("string(./features/apic/@eoi)", ctxt))) {
int eoi;
......@@ -11876,7 +11876,7 @@ virDomainDefParseXML(xmlDocPtr xml,
ctxt->node = nodes[i];
switch ((enum virDomainHyperv) feature) {
switch ((virDomainHyperv) feature) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
if (!(tmp = virXPathString("string(./@state)", ctxt))) {
......@@ -13819,7 +13819,7 @@ virDomainRedirdevDefCheckABIStability(virDomainRedirdevDefPtr src,
return false;
}
switch ((enum virDomainRedirdevBus) src->bus) {
switch ((virDomainRedirdevBus) src->bus) {
case VIR_DOMAIN_REDIRDEV_BUS_USB:
if (src->source.chr.type != dst->source.chr.type) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
......@@ -13926,7 +13926,7 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src,
/* hyperv */
if (src->features[VIR_DOMAIN_FEATURE_HYPERV] == VIR_DOMAIN_FEATURE_STATE_ON) {
for (i = 0; i < VIR_DOMAIN_HYPERV_LAST; i++) {
switch ((enum virDomainHyperv) i) {
switch ((virDomainHyperv) i) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
if (src->hyperv_features[i] != dst->hyperv_features[i]) {
......@@ -15914,7 +15914,7 @@ virDomainChrSourceDefFormat(virBufferPtr buf,
}
virBufferAddLit(buf, ">\n");
switch ((enum virDomainChrType)def->type) {
switch ((virDomainChrType)def->type) {
case VIR_DOMAIN_CHR_TYPE_NULL:
case VIR_DOMAIN_CHR_TYPE_VC:
case VIR_DOMAIN_CHR_TYPE_STDIO:
......@@ -16397,7 +16397,7 @@ virDomainRNGDefFormat(virBufferPtr buf,
}
virBufferAsprintf(buf, "<backend model='%s'", backend);
switch ((enum virDomainRNGBackend) def->backend) {
switch ((virDomainRNGBackend) def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (def->source.file)
virBufferEscapeString(buf, ">%s</backend>\n", def->source.file);
......@@ -16434,7 +16434,7 @@ virDomainRNGDefFree(virDomainRNGDefPtr def)
if (!def)
return;
switch ((enum virDomainRNGBackend) def->backend) {
switch ((virDomainRNGBackend) def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
VIR_FREE(def->source.file);
break;
......@@ -17564,13 +17564,13 @@ virDomainDefFormatInternal(virDomainDefPtr def,
goto error;
}
switch ((enum virDomainFeature) i) {
switch ((virDomainFeature) i) {
case VIR_DOMAIN_FEATURE_ACPI:
case VIR_DOMAIN_FEATURE_PAE:
case VIR_DOMAIN_FEATURE_HAP:
case VIR_DOMAIN_FEATURE_VIRIDIAN:
case VIR_DOMAIN_FEATURE_PRIVNET:
switch ((enum virDomainFeatureState) def->features[i]) {
switch ((virDomainFeatureState) def->features[i]) {
case VIR_DOMAIN_FEATURE_STATE_DEFAULT:
break;
......@@ -17590,7 +17590,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
break;
case VIR_DOMAIN_FEATURE_PVSPINLOCK:
switch ((enum virDomainFeatureState) def->features[i]) {
switch ((virDomainFeatureState) def->features[i]) {
case VIR_DOMAIN_FEATURE_STATE_LAST:
case VIR_DOMAIN_FEATURE_STATE_DEFAULT:
break;
......@@ -17624,7 +17624,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
virBufferAddLit(buf, "<hyperv>\n");
virBufferAdjustIndent(buf, 2);
for (j = 0; j < VIR_DOMAIN_HYPERV_LAST; j++) {
switch ((enum virDomainHyperv) j) {
switch ((virDomainHyperv) j) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
if (def->hyperv_features[j])
......
此差异已折叠。
......@@ -526,7 +526,7 @@ libxlDomainShutdownThread(void *opaque)
dom_event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
switch ((enum virDomainLifecycleAction) vm->def->onPoweroff) {
switch ((virDomainLifecycleAction) vm->def->onPoweroff) {
case VIR_DOMAIN_LIFECYCLE_DESTROY:
reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN;
goto destroy;
......@@ -541,7 +541,7 @@ libxlDomainShutdownThread(void *opaque)
dom_event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
switch ((enum virDomainLifecycleCrashAction) vm->def->onCrash) {
switch ((virDomainLifecycleCrashAction) vm->def->onCrash) {
case VIR_DOMAIN_LIFECYCLE_CRASH_DESTROY:
reason = VIR_DOMAIN_SHUTOFF_CRASHED;
goto destroy;
......@@ -562,7 +562,7 @@ libxlDomainShutdownThread(void *opaque)
dom_event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
switch ((enum virDomainLifecycleAction) vm->def->onReboot) {
switch ((virDomainLifecycleAction) vm->def->onReboot) {
case VIR_DOMAIN_LIFECYCLE_DESTROY:
reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN;
goto destroy;
......
......@@ -3503,7 +3503,7 @@ networkAllocateActualDevice(virDomainDefPtr dom,
virDomainNetDefPtr iface)
{
virNetworkDriverStatePtr driver = driverState;
enum virDomainNetType actualType = iface->type;
virDomainNetType actualType = iface->type;
virNetworkObjPtr network = NULL;
virNetworkDefPtr netdef = NULL;
virNetDevBandwidthPtr bandwidth = NULL;
......@@ -3902,7 +3902,7 @@ networkNotifyActualDevice(virDomainDefPtr dom,
virDomainNetDefPtr iface)
{
virNetworkDriverStatePtr driver = driverState;
enum virDomainNetType actualType = virDomainNetGetActualType(iface);
virDomainNetType actualType = virDomainNetGetActualType(iface);
virNetworkObjPtr network;
virNetworkDefPtr netdef;
virNetworkForwardIfDefPtr dev = NULL;
......@@ -4093,7 +4093,7 @@ networkReleaseActualDevice(virDomainDefPtr dom,
virDomainNetDefPtr iface)
{
virNetworkDriverStatePtr driver = driverState;
enum virDomainNetType actualType = virDomainNetGetActualType(iface);
virDomainNetType actualType = virDomainNetGetActualType(iface);
virNetworkObjPtr network;
virNetworkDefPtr netdef;
virNetworkForwardIfDefPtr dev = NULL;
......
......@@ -933,7 +933,7 @@ qemuAssignDeviceChrAlias(virDomainDefPtr def,
{
const char *prefix = NULL;
switch ((enum virDomainChrDeviceType) chr->deviceType) {
switch ((virDomainChrDeviceType) chr->deviceType) {
case VIR_DOMAIN_CHR_DEVICE_TYPE_PARALLEL:
prefix = "parallel";
break;
......@@ -4522,7 +4522,7 @@ qemuBuildHostNetStr(virDomainNetDefPtr net,
{
bool is_tap = false;
virBuffer buf = VIR_BUFFER_INITIALIZER;
enum virDomainNetType netType = virDomainNetGetActualType(net);
virDomainNetType netType = virDomainNetGetActualType(net);
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
size_t i;
......@@ -5495,7 +5495,7 @@ qemuBuildChrArgStr(virDomainChrSourceDefPtr dev, const char *prefix)
if (prefix)
virBufferAdd(&buf, prefix, strlen(prefix));
switch ((enum virDomainChrType)dev->type) {
switch ((virDomainChrType)dev->type) {
case VIR_DOMAIN_CHR_TYPE_NULL:
virBufferAddLit(&buf, "null");
break;
......@@ -5704,7 +5704,7 @@ qemuBuildRNGBackendArgs(virCommandPtr cmd,
char *backend = NULL;
int ret = -1;
switch ((enum virDomainRNGBackend) dev->backend) {
switch ((virDomainRNGBackend) dev->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_RANDOM)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
......@@ -6297,7 +6297,7 @@ qemuBuildCpuArgStr(virQEMUDriverPtr driver,
}
for (i = 0; i < VIR_DOMAIN_HYPERV_LAST; i++) {
switch ((enum virDomainHyperv) i) {
switch ((virDomainHyperv) i) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
if (def->hyperv_features[i] == VIR_DOMAIN_FEATURE_STATE_ON)
......@@ -6957,7 +6957,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
virQEMUCapsPtr qemuCaps,
virDomainGraphicsDefPtr graphics)
{
switch ((enum virDomainGraphicsType) graphics->type) {
switch ((virDomainGraphicsType) graphics->type) {
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_0_10) &&
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL)) {
......@@ -7573,7 +7573,7 @@ qemuBuildCommandLine(virConnectPtr conn,
}
for (i = 0; i < def->clock.ntimers; i++) {
switch ((enum virDomainTimerNameType) def->clock.timers[i]->name) {
switch ((virDomainTimerNameType) def->clock.timers[i]->name) {
case VIR_DOMAIN_TIMER_NAME_PLATFORM:
case VIR_DOMAIN_TIMER_NAME_TSC:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
......@@ -9333,7 +9333,7 @@ qemuBuildChannelChrDeviceStr(char **deviceStr,
char *addr = NULL;
int port;
switch ((enum virDomainChrChannelTargetType) chr->targetType) {
switch ((virDomainChrChannelTargetType) chr->targetType) {
case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD:
addr = virSocketAddrFormat(chr->target.addr);
......@@ -9372,7 +9372,7 @@ qemuBuildConsoleChrDeviceStr(char **deviceStr,
{
int ret = -1;
switch ((enum virDomainChrConsoleTargetType) chr->targetType) {
switch ((virDomainChrConsoleTargetType) chr->targetType) {
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLP:
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLPLM:
if (!(*deviceStr = qemuBuildSclpDevStr(chr)))
......@@ -9407,7 +9407,7 @@ qemuBuildChrDeviceStr(char **deviceStr,
{
int ret = -1;
switch ((enum virDomainChrDeviceType) chr->deviceType) {
switch ((virDomainChrDeviceType) chr->deviceType) {
case VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL:
ret = qemuBuildSerialChrDeviceStr(deviceStr, vmdef, chr, qemuCaps,
vmdef->os.arch,
......@@ -10552,7 +10552,7 @@ qemuParseCommandLineCPU(virDomainDefPtr dom,
goto cleanup;
}
switch ((enum virDomainHyperv) f) {
switch ((virDomainHyperv) f) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
if (value) {
......
......@@ -1642,7 +1642,7 @@ qemuDomainDefFormatLive(virQEMUDriverPtr driver,
void qemuDomainObjTaint(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum virDomainTaintFlags taint,
virDomainTaintFlags taint,
int logFD)
{
virErrorPtr orig_err = NULL;
......
......@@ -278,7 +278,7 @@ char *qemuDomainDefFormatLive(virQEMUDriverPtr driver,
void qemuDomainObjTaint(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum virDomainTaintFlags taint,
virDomainTaintFlags taint,
int logFD);
void qemuDomainObjCheckTaint(virQEMUDriverPtr driver,
......
......@@ -2298,7 +2298,7 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver,
goto cleanup;
}
switch ((enum virDomainGraphicsListenType) newlisten->type) {
switch ((virDomainGraphicsListenType) newlisten->type) {
case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS:
if (STRNEQ_NULLABLE(newlisten->address, oldlisten->address)) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
......
......@@ -1530,7 +1530,7 @@ int qemuMonitorGetCPUInfo(qemuMonitorPtr mon,
int qemuMonitorSetLink(qemuMonitorPtr mon,
const char *name,
enum virDomainNetInterfaceLinkState state)
virDomainNetInterfaceLinkState state)
{
int ret;
VIR_DEBUG("mon=%p, name=%p:%s, state=%u", mon, name, name, state);
......
......@@ -220,7 +220,7 @@ int qemuMonitorSetCapabilities(qemuMonitorPtr mon);
int qemuMonitorSetLink(qemuMonitorPtr mon,
const char *name,
enum virDomainNetInterfaceLinkState state);
virDomainNetInterfaceLinkState state);
/* These APIs are for use by the internal Text/JSON monitor impl code only */
char *qemuMonitorNextCommandID(qemuMonitorPtr mon);
......
......@@ -1162,7 +1162,7 @@ int qemuMonitorJSONSystemPowerdown(qemuMonitorPtr mon)
int qemuMonitorJSONSetLink(qemuMonitorPtr mon,
const char *name,
enum virDomainNetInterfaceLinkState state)
virDomainNetInterfaceLinkState state)
{
int ret;
......@@ -5365,7 +5365,7 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
goto no_memory;
}
switch ((enum virDomainChrType) chr->type) {
switch ((virDomainChrType) chr->type) {
case VIR_DOMAIN_CHR_TYPE_NULL:
case VIR_DOMAIN_CHR_TYPE_VC:
backend_type = "null";
......
......@@ -291,7 +291,7 @@ int qemuMonitorJSONBlockJob(qemuMonitorPtr mon,
int qemuMonitorJSONSetLink(qemuMonitorPtr mon,
const char *name,
enum virDomainNetInterfaceLinkState state);
virDomainNetInterfaceLinkState state);
int qemuMonitorJSONOpenGraphics(qemuMonitorPtr mon,
const char *protocol,
......
......@@ -450,7 +450,7 @@ int qemuMonitorTextSystemPowerdown(qemuMonitorPtr mon)
int
qemuMonitorTextSetLink(qemuMonitorPtr mon,
const char *name,
enum virDomainNetInterfaceLinkState state)
virDomainNetInterfaceLinkState state)
{
char *info = NULL;
char *cmd = NULL;
......
......@@ -228,7 +228,7 @@ int qemuMonitorTextScreendump(qemuMonitorPtr mon, const char *file);
int qemuMonitorTextSetLink(qemuMonitorPtr mon,
const char *name,
enum virDomainNetInterfaceLinkState state);
virDomainNetInterfaceLinkState state);
int qemuMonitorTextOpenGraphics(qemuMonitorPtr mon,
const char *protocol,
......
......@@ -722,7 +722,7 @@ virSecurityDACSetChardevLabel(virSecurityManagerPtr mgr,
return -1;
}
switch ((enum virDomainChrType) dev_source->type) {
switch ((virDomainChrType) dev_source->type) {
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
ret = virSecurityDACSetOwnership(dev_source->data.file.path,
......@@ -783,7 +783,7 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
if (chr_seclabel && chr_seclabel->norelabel)
return 0;
switch ((enum virDomainChrType) dev_source->type) {
switch ((virDomainChrType) dev_source->type) {
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
ret = virSecurityDACRestoreSecurityFileLabel(dev_source->data.file.path);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册