From 22335e9ed07804413ea7d6026e5b4cbb1f217c5e Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 14 Oct 2019 16:54:53 +0200 Subject: [PATCH] conf: Introduce virDomainDiskByTarget Introduce a simpler replacement for virDomainDiskByName when looking up by disk target. Signed-off-by: Peter Krempa Reviewed-by: Daniel Henrique Barboza --- src/conf/domain_conf.c | 16 ++++++++++++++++ src/conf/domain_conf.h | 4 ++++ src/libvirt_private.syms | 1 + 3 files changed, 21 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f76e027edb..a12238a5ad 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -16905,6 +16905,22 @@ virDomainDiskByName(virDomainDefPtr def, return idx < 0 ? NULL : def->disks[idx]; } + +virDomainDiskDefPtr +virDomainDiskByTarget(virDomainDefPtr def, + const char *dst) +{ + size_t i; + + for (i = 0; i < def->ndisks; i++) { + if (STREQ(def->disks[i]->dst, dst)) + return def->disks[i]; + } + + return NULL; +} + + int virDomainDiskInsert(virDomainDefPtr def, virDomainDiskDefPtr disk) { diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 59cdd4e401..bb77fc0266 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3162,6 +3162,10 @@ int virDomainDiskIndexByName(virDomainDefPtr def, const char *name, virDomainDiskDefPtr virDomainDiskByName(virDomainDefPtr def, const char *name, bool allow_ambiguous); +virDomainDiskDefPtr +virDomainDiskByTarget(virDomainDefPtr def, + const char *dst); + int virDomainDiskInsert(virDomainDefPtr def, virDomainDiskDefPtr disk) G_GNUC_WARN_UNUSED_RESULT; diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 255e8acc14..3cc3d94d2e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -331,6 +331,7 @@ virDomainDiskBackingStoreParse; virDomainDiskBusTypeToString; virDomainDiskByAddress; virDomainDiskByName; +virDomainDiskByTarget; virDomainDiskCacheTypeFromString; virDomainDiskCacheTypeToString; virDomainDiskDefAssignAddress;