From e89694735011fad95bf9fc61221744e69d695137 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Fri, 1 Mar 2019 16:05:16 +0100 Subject: [PATCH] virDomainDiskTranslateSourcePool: Don't set @mode of iscsi-direct https://bugzilla.redhat.com/show_bug.cgi?id=1658504 This function is called when a domain is starting up (in qemu driver that is when qemu cmd line is generated). It is used to translate to something usable by filling in virStorageSource (e.g. fetching disk path, or some connection URI for a network FS). But some of these info are not stored in status XML and thus the function is called on qemuProcessReconnect too to reconstruct runtime data. But this poses a problem because after the first run the mode is set to 'direct', but in the second run this triggers a failure because mode is valid only for 'iscsi' volumes and not 'iscsi-direct' ones. Signed-off-by: Michal Privoznik Reviewed-by: Erik Skultety --- src/conf/domain_conf.c | 2 -- src/util/virstoragefile.h | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 05c2c9f34e..3340f0b0ef 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30565,8 +30565,6 @@ virDomainDiskTranslateSourcePool(virDomainDiskDefPtr def) return -1; } - def->src->srcpool->mode = VIR_STORAGE_SOURCE_POOL_MODE_DIRECT; - if (virDomainDiskTranslateISCSIDirect(def, pooldef) < 0) return -1; diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h index ba5181804c..420c8a57f3 100644 --- a/src/util/virstoragefile.h +++ b/src/util/virstoragefile.h @@ -191,7 +191,7 @@ struct _virStorageSourcePoolDef { int voltype; /* virStorageVolType, internal only */ int pooltype; /* virStoragePoolType from storage_conf.h, internal only */ int actualtype; /* virStorageType, internal only */ - int mode; /* virStorageSourcePoolMode */ + int mode; /* virStorageSourcePoolMode, currently makes sense only for iscsi pool */ }; typedef virStorageSourcePoolDef *virStorageSourcePoolDefPtr;