/*
- * Copyright (C) 2010-2013 Red Hat, Inc.
+ * Copyright (C) 2010-2014 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
if (!priv->dynamicOwnership)
return 0;
- if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK)
+ if (virDomainDiskGetType(disk) == VIR_DOMAIN_DISK_TYPE_NETWORK)
return 0;
params[0] = mgr;
int migrated)
{
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
+ const char *src = virDomainDiskGetSource(disk);
if (!priv->dynamicOwnership)
return 0;
- if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK)
+ if (virDomainDiskGetType(disk) == VIR_DOMAIN_DISK_TYPE_NETWORK)
return 0;
/* Don't restore labels on readoly/shared disks, because
if (disk->readonly || disk->shared)
return 0;
- if (!disk->src)
+ if (!src)
return 0;
/* If we have a shared FS & doing migrated, we must not
* VM's I/O attempts :-)
*/
if (migrated) {
- int rc = virStorageFileIsSharedFS(disk->src);
+ int rc = virStorageFileIsSharedFS(src);
if (rc < 0)
return -1;
if (rc == 1) {
VIR_DEBUG("Skipping image label restore on %s because FS is shared",
- disk->src);
+ src);
return 0;
}
}
- return virSecurityDACRestoreSecurityFileLabel(disk->src);
+ return virSecurityDACRestoreSecurityFileLabel(src);
}
for (i = 0; i < def->ndisks; i++) {
/* XXX fixme - we need to recursively label the entire tree :-( */
- if (def->disks[i]->type == VIR_DOMAIN_DISK_TYPE_DIR)
+ if (virDomainDiskGetType(def->disks[i]) == VIR_DOMAIN_DISK_TYPE_DIR)
continue;
if (virSecurityDACSetSecurityImageLabel(mgr,
def,
/*
- * Copyright (C) 2008-2013 Red Hat, Inc.
+ * Copyright (C) 2008-2014 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
{
virSecurityLabelDefPtr seclabel;
virSecurityDeviceLabelDefPtr disk_seclabel;
+ const char *src = virDomainDiskGetSource(disk);
seclabel = virDomainDefGetSecurityLabelDef(def, SECURITY_SELINUX_NAME);
if (seclabel == NULL)
if (disk->readonly || disk->shared)
return 0;
- if (!disk->src || disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK)
+ if (!src || virDomainDiskGetType(disk) == VIR_DOMAIN_DISK_TYPE_NETWORK)
return 0;
/* If we have a shared FS & doing migrated, we must not
* VM's I/O attempts :-)
*/
if (migrated) {
- int rc = virStorageFileIsSharedFS(disk->src);
+ int rc = virStorageFileIsSharedFS(src);
if (rc < 0)
return -1;
if (rc == 1) {
VIR_DEBUG("Skipping image label restore on %s because FS is shared",
- disk->src);
+ src);
return 0;
}
}
- return virSecuritySELinuxRestoreSecurityFileLabel(mgr, disk->src);
+ return virSecuritySELinuxRestoreSecurityFileLabel(mgr, src);
}
if (cbdata.secdef->norelabel)
return 0;
- if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK)
+ if (virDomainDiskGetType(disk) == VIR_DOMAIN_DISK_TYPE_NETWORK)
return 0;
return virDomainDiskDefForeachPath(disk,
for (i = 0; i < def->ndisks; i++) {
/* XXX fixme - we need to recursively label the entire tree :-( */
- if (def->disks[i]->type == VIR_DOMAIN_DISK_TYPE_DIR) {
+ if (virDomainDiskGetType(def->disks[i]) == VIR_DOMAIN_DISK_TYPE_DIR) {
VIR_WARN("Unable to relabel directory tree %s for disk %s",
- def->disks[i]->src, def->disks[i]->dst);
+ virDomainDiskGetSource(def->disks[i]),
+ def->disks[i]->dst);
continue;
}
if (virSecuritySELinuxSetSecurityImageLabel(mgr,