From: Eric Blake Date: Mon, 28 Jun 2010 17:33:05 +0000 (-0600) Subject: phyp: don't steal storage management from other drivers X-Git-Tag: v0.8.2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b26f2d8e64b8fd94eace47af7155aa0f68247db;p=thirdparty%2Flibvirt.git phyp: don't steal storage management from other drivers Fix regression introduced in commit a4a287242 - basically, the phyp storage driver should only accept the same URIs that the main phyp driver is willing to accept. Blindly accepting all URIs meant that the phyp storage driver was being consulted for 'virsh -c qemu:///session pool-list --all', rather than the qemu storage driver, then since the URI was not for phyp, attempts to then use the phyp driver crashed because it was not initialized. * src/phyp/phyp_driver.c (phypStorageOpen): Only accept connections already open to a phyp driver. --- diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c index 3692f2c6e9..ee1e21b82e 100644 --- a/src/phyp/phyp_driver.c +++ b/src/phyp/phyp_driver.c @@ -3875,12 +3875,15 @@ phypDomainSetCPU(virDomainPtr dom, unsigned int nvcpus) } static virDrvOpenStatus -phypStorageOpen(virConnectPtr conn ATTRIBUTE_UNUSED, +phypStorageOpen(virConnectPtr conn, virConnectAuthPtr auth ATTRIBUTE_UNUSED, int flags) { virCheckFlags(0, VIR_DRV_OPEN_ERROR); + if (conn->driver->no != VIR_DRV_PHYP) + return VIR_DRV_OPEN_DECLINED; + return VIR_DRV_OPEN_SUCCESS; }