qemuSetupImageCgroup(virDomainObj *vm,
virStorageSource *src)
{
- return qemuSetupImageCgroupInternal(vm, src, false);
+ if (qemuSetupImageCgroupInternal(vm, src, false) < 0)
+ return -1;
+
+ if (src->dataFileStore &&
+ qemuSetupImageCgroupInternal(vm, src->dataFileStore, false) < 0)
+ return -1;
+
+ return 0;
}
if (qemuSetupImageCgroupInternal(vm, next, forceReadonly) < 0)
return -1;
+ if (next->dataFileStore &&
+ qemuSetupImageCgroupInternal(vm, next->dataFileStore, forceReadonly) < 0)
+ return -1;
+
/* setup only the top level image for read-write */
forceReadonly = true;
}
} else {
GSList *targetPaths = NULL;
+ if (next->dataFileStore &&
+ virStorageSourceIsLocalStorage(next->dataFileStore))
+ *paths = g_slist_prepend(*paths, g_strdup(next->dataFileStore->path));
+
if (virStorageSourceIsEmpty(next) ||
!virStorageSourceIsLocalStorage(next)) {
/* Not creating device. Just continue. */