From 5b26f2d8e64b8fd94eace47af7155aa0f68247db Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 28 Jun 2010 11:33:05 -0600 Subject: [PATCH] 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. --- src/phyp/phyp_driver.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; }