ch_domain: add methods to manage private vcpu data
Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com> Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
326a4ed2cb
commit
bfa2da4ca9
@ -164,11 +164,6 @@ virCHDomainObjPrivateFree(void *data)
|
|||||||
g_free(priv);
|
g_free(priv);
|
||||||
}
|
}
|
||||||
|
|
||||||
virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks = {
|
|
||||||
.alloc = virCHDomainObjPrivateAlloc,
|
|
||||||
.free = virCHDomainObjPrivateFree,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
virCHDomainDefPostParseBasic(virDomainDef *def,
|
virCHDomainDefPostParseBasic(virDomainDef *def,
|
||||||
void *opaque G_GNUC_UNUSED)
|
void *opaque G_GNUC_UNUSED)
|
||||||
@ -185,6 +180,39 @@ virCHDomainDefPostParseBasic(virDomainDef *def,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static virClass *virCHDomainVcpuPrivateClass;
|
||||||
|
|
||||||
|
static void
|
||||||
|
virCHDomainVcpuPrivateDispose(void *obj G_GNUC_UNUSED)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
virCHDomainVcpuPrivateOnceInit(void)
|
||||||
|
{
|
||||||
|
if (!VIR_CLASS_NEW(virCHDomainVcpuPrivate, virClassForObject()))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
VIR_ONCE_GLOBAL_INIT(virCHDomainVcpuPrivate);
|
||||||
|
|
||||||
|
static virObject *
|
||||||
|
virCHDomainVcpuPrivateNew(void)
|
||||||
|
{
|
||||||
|
virCHDomainVcpuPrivate *priv;
|
||||||
|
|
||||||
|
if (virCHDomainVcpuPrivateInitialize() < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!(priv = virObjectNew(virCHDomainVcpuPrivateClass)))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return (virObject *) priv;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
virCHDomainDefPostParse(virDomainDef *def,
|
virCHDomainDefPostParse(virDomainDef *def,
|
||||||
unsigned int parseFlags G_GNUC_UNUSED,
|
unsigned int parseFlags G_GNUC_UNUSED,
|
||||||
@ -203,6 +231,12 @@ virCHDomainDefPostParse(virDomainDef *def,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks = {
|
||||||
|
.alloc = virCHDomainObjPrivateAlloc,
|
||||||
|
.free = virCHDomainObjPrivateFree,
|
||||||
|
.vcpuNew = virCHDomainVcpuPrivateNew,
|
||||||
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
chValidateDomainDeviceDef(const virDomainDeviceDef *dev,
|
chValidateDomainDeviceDef(const virDomainDeviceDef *dev,
|
||||||
const virDomainDef *def G_GNUC_UNUSED,
|
const virDomainDef *def G_GNUC_UNUSED,
|
||||||
|
@ -62,6 +62,17 @@ struct _virCHDomainObjPrivate {
|
|||||||
|
|
||||||
virCHMonitor *virCHDomainGetMonitor(virDomainObj *vm);
|
virCHMonitor *virCHDomainGetMonitor(virDomainObj *vm);
|
||||||
|
|
||||||
|
typedef struct _virCHDomainVcpuPrivate virCHDomainVcpuPrivate;
|
||||||
|
struct _virCHDomainVcpuPrivate {
|
||||||
|
virObject parent;
|
||||||
|
|
||||||
|
pid_t tid; /* vcpu thread id */
|
||||||
|
virTristateBool halted;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define CH_DOMAIN_VCPU_PRIVATE(vcpu) \
|
||||||
|
((virCHDomainVcpuPrivate *) (vcpu)->privateData)
|
||||||
|
|
||||||
extern virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks;
|
extern virDomainXMLPrivateDataCallbacks virCHDriverPrivateDataCallbacks;
|
||||||
extern virDomainDefParserConfig virCHDriverDomainDefParserConfig;
|
extern virDomainDefParserConfig virCHDriverDomainDefParserConfig;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user