[libvirt] [PATCH v2] storage: Fix incorrect format for <disk> <auth> XML

https://bugzilla.redhat.com/show_bug.cgi?id=1256999 After creating a copy of the 'authdef' in a pool -> disk translation, unconditionally clear the 'authType' in the resulting disk auth def structure since that's used for a storage pool and not a disk. This ensures virStorageAuthDefFormat will properly format the <auth> XML for a <disk> (e.g. it won't have a <auth type='%s'.../>). Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/storage/storage_driver.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index ddf4405..0a7ebcc 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -3199,6 +3199,8 @@ virStorageTranslateDiskSourcePoolAuth(virDomainDiskDefPtr def, def->src->auth = virStorageAuthDefCopy(source->auth); if (!def->src->auth) goto cleanup; + /* A <disk> doesn't use <auth type='%s', so clear that out for the disk */ + def->src->auth->authType = VIR_STORAGE_AUTH_TYPE_NONE; ret = 0; cleanup: -- 2.1.0

On 06.10.2015 23:25, John Ferlan wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1256999
After creating a copy of the 'authdef' in a pool -> disk translation, unconditionally clear the 'authType' in the resulting disk auth def structure since that's used for a storage pool and not a disk. This ensures virStorageAuthDefFormat will properly format the <auth> XML for a <disk> (e.g. it won't have a <auth type='%s'.../>).
Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/storage/storage_driver.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index ddf4405..0a7ebcc 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -3199,6 +3199,8 @@ virStorageTranslateDiskSourcePoolAuth(virDomainDiskDefPtr def, def->src->auth = virStorageAuthDefCopy(source->auth); if (!def->src->auth) goto cleanup; + /* A <disk> doesn't use <auth type='%s', so clear that out for the disk */ + def->src->auth->authType = VIR_STORAGE_AUTH_TYPE_NONE; ret = 0;
cleanup:
ACK Michal
participants (2)
-
John Ferlan
-
Michal Privoznik