Extract the lookup code so that it can be reused later.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
return detect_zeroes;
}
+
+
+/**
+ * virDomainDefHasManagedPR:
+ * @def: domain definition
+ *
+ * Returns true if any of the domain disks requires the use of the managed
+ * persistent reservations infrastructure.
+ */
+bool
+virDomainDefHasManagedPR(const virDomainDef *def)
+{
+ size_t i;
+
+ for (i = 0; i < def->ndisks; i++) {
+ if (virStoragePRDefIsManaged(def->disks[i]->src->pr))
+ return true;
+ }
+
+ return false;
+}
virDomainDiskGetDetectZeroesMode(virDomainDiskDiscard discard,
virDomainDiskDetectZeroes detect_zeroes);
+bool
+virDomainDefHasManagedPR(const virDomainDef *def);
+
#endif /* __DOMAIN_CONF_H */
virDomainDefGetVcpusMax;
virDomainDefGetVcpusTopology;
virDomainDefHasDeviceAddress;
+virDomainDefHasManagedPR;
virDomainDefHasMemballoon;
virDomainDefHasMemoryHotplug;
virDomainDefHasUSB;
}
-static int
-qemuProcessMaybeStartManagedPRDaemon(virDomainObjPtr vm)
-{
- bool hasManaged = false;
- size_t i;
-
- for (i = 0; i < vm->def->ndisks; i++) {
- if (virStoragePRDefIsManaged(vm->def->disks[i]->src->pr)) {
- hasManaged = true;
- break;
- }
- }
-
- if (!hasManaged)
- return 0;
-
- return qemuProcessStartManagedPRDaemon(vm);
-}
-
-
static int
qemuProcessInitPasswords(virQEMUDriverPtr driver,
virDomainObjPtr vm,
goto cleanup;
VIR_DEBUG("Setting up managed PR daemon");
- if (qemuProcessMaybeStartManagedPRDaemon(vm) < 0)
+ if (virDomainDefHasManagedPR(vm->def) &&
+ qemuProcessStartManagedPRDaemon(vm) < 0)
goto cleanup;
VIR_DEBUG("Setting domain security labels");