From: Osier Yang Date: Mon, 27 Feb 2012 09:20:11 +0000 (+0800) Subject: conf: Add helper function to look up disk controller model X-Git-Tag: v0.9.11-rc1~207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7eadfddad5d7fa53f5b2aa1ef5531cdb796861cd;p=thirdparty%2Flibvirt.git conf: Add helper function to look up disk controller model --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 93501cf316..2b68841d05 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -2502,6 +2502,23 @@ virDomainParseLegacyDeviceAddress(char *devaddr, return 0; } +int +virDomainDiskFindControllerModel(virDomainDefPtr def, + virDomainDiskDefPtr disk, + int controllerType) +{ + int model = -1; + int i; + + for (i = 0; i < def->ncontrollers; i++) { + if (def->controllers[i]->type == controllerType && + def->controllers[i]->idx == disk->info.addr.drive.controller) + model = def->controllers[i]->model; + } + + return model; +} + int virDomainDiskDefAssignAddress(virCapsPtr caps, virDomainDiskDefPtr def) { diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 777bccb9b1..fed7cc3de0 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1729,6 +1729,9 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def); void virDomainInputDefFree(virDomainInputDefPtr def); void virDomainDiskDefFree(virDomainDiskDefPtr def); void virDomainDiskHostDefFree(virDomainDiskHostDefPtr def); +int virDomainDiskFindControllerModel(virDomainDefPtr def, + virDomainDiskDefPtr disk, + int controllerType); void virDomainControllerDefFree(virDomainControllerDefPtr def); void virDomainFSDefFree(virDomainFSDefPtr def); void virDomainActualNetDefFree(virDomainActualNetDefPtr def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3ee40dc491..b9baf9a08c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -302,6 +302,7 @@ virDomainDiskDefFree; virDomainDiskDeviceTypeToString; virDomainDiskErrorPolicyTypeFromString; virDomainDiskErrorPolicyTypeToString; +virDomainDiskFindControllerModel; virDomainDiskIndexByName; virDomainDiskInsert; virDomainDiskInsertPreAlloced;