if (virSecurityDACSetImageLabelInternal(mgr, def, n, parent, isChainTop) < 0)
return -1;
- if (n->externalDataStore &&
- virSecurityDACSetImageLabelRelative(mgr,
- def,
- n->externalDataStore,
- parent,
- flags) < 0)
- return -1;
-
if (!(flags & VIR_SECURITY_DOMAIN_IMAGE_LABEL_BACKING_CHAIN))
break;
if (virSecurityDACRestoreImageLabelSingle(mgr, def, src, migrated) < 0)
return -1;
- if (src->externalDataStore &&
- virSecurityDACRestoreImageLabelSingle(mgr,
- def,
- src->externalDataStore,
- migrated) < 0)
- return -1;
-
return 0;
}
if (virSecuritySELinuxRestoreImageLabelSingle(mgr, def, src, migrated) < 0)
return -1;
- if (src->externalDataStore &&
- virSecuritySELinuxRestoreImageLabelSingle(mgr,
- def,
- src->externalDataStore,
- migrated) < 0)
- return -1;
-
return 0;
}
return 0;
use_label = parent_seclabel->label;
- } else if (parent == src || parent->externalDataStore == src) {
+ } else if (parent == src) {
if (src->shared) {
use_label = data->file_context;
} else if (src->readonly) {
if (virSecuritySELinuxSetImageLabelInternal(mgr, def, n, parent, isChainTop) < 0)
return -1;
- if (n->externalDataStore &&
- virSecuritySELinuxSetImageLabelRelative(mgr,
- def,
- n->externalDataStore,
- parent,
- flags) < 0)
- return -1;
-
if (!(flags & VIR_SECURITY_DOMAIN_IMAGE_LABEL_BACKING_CHAIN))
break;
if (add_file_path(tmp, depth, buf) < 0)
return -1;
- if (tmp->externalDataStore &&
- storage_source_add_files(tmp->externalDataStore, buf, depth) < 0)
- return -1;
-
depth++;
}