diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index d5f6f007300ad5465e870afa84ddb46ee0d29a7f..978edf871943efc2df33c61289f6e38e626692ce 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -1604,7 +1604,7 @@ virCapabilitiesInitResctrl(virCapsPtr caps) if (!caps->host.resctrl) return -1; - return virResctrlGetInfo(caps->host.resctrl); + return 0; } diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3a9680b3cd2b9fd983215ea10c1c9f3839fb1c66..3f54790297fba8104bd672b16177c6fb75fb3ce7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2632,7 +2632,6 @@ virResctrlAllocNew; virResctrlAllocRemove; virResctrlAllocSetID; virResctrlAllocSetSize; -virResctrlGetInfo; virResctrlInfoGetCache; virResctrlInfoNew; diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c index 13baa82be0ac7d1cae2b8b73e655ad84a78e9738..06a85d0d409841a35b84d146f6d02f645a45a692 100644 --- a/src/util/virresctrl.c +++ b/src/util/virresctrl.c @@ -314,7 +314,7 @@ virResctrlUnlock(int fd) /* virResctrlInfo-related definitions */ -int +static int virResctrlGetInfo(virResctrlInfoPtr resctrl) { DIR *dirp = NULL; @@ -448,10 +448,21 @@ virResctrlGetInfo(virResctrlInfoPtr resctrl) virResctrlInfoPtr virResctrlInfoNew(void) { + virResctrlInfoPtr ret = NULL; + if (virResctrlInitialize() < 0) return NULL; - return virObjectNew(virResctrlInfoClass); + ret = virObjectNew(virResctrlInfoClass); + if (!ret) + return NULL; + + if (virResctrlGetInfo(ret) < 0) { + virObjectUnref(ret); + return NULL; + } + + return ret; } diff --git a/src/util/virresctrl.h b/src/util/virresctrl.h index cc648b521e8f90e855467667d902d5edba3e6dc5..a348fa7ab195a55462b7f80be76aedbb2a4cee1f 100644 --- a/src/util/virresctrl.h +++ b/src/util/virresctrl.h @@ -55,9 +55,6 @@ typedef virResctrlInfo *virResctrlInfoPtr; virResctrlInfoPtr virResctrlInfoNew(void); -int -virResctrlGetInfo(virResctrlInfoPtr resctrl); - int virResctrlInfoGetCache(virResctrlInfoPtr resctrl, unsigned int level,