[PATCH v3 4/4] src: don't hide error in VIR_DRV_SUPPORTS_FEATURE

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Fri Dec 18 06:56:48 UTC 2020


Otherwise we can get misleading error messages. One example is when connection
is broken we got "this function is not supported by the connection driver:
virDomainMigrate3" from virDomainMigrate3.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
---
 src/driver.h | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/driver.h b/src/driver.h
index 6278aa0..2531ac3 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -47,17 +47,14 @@ typedef enum {
  * directly if you don't have to, because it may be NULL, use this macro
  * instead.
  *
- * Note that this treats a possible error returned by drv->supports_feature
- * the same as not supported. If you care about the error, call
- * drv->supports_feature directly.
- *
  * Returns:
- *   != 0  Feature is supported.
+ *   -1    Error
+ *   >0    Feature is supported.
  *   0     Feature is not supported.
  */
 #define VIR_DRV_SUPPORTS_FEATURE(drv, conn, feature) \
     ((drv)->connectSupportsFeature ? \
-        (drv)->connectSupportsFeature((conn), (feature)) > 0 : 0)
+        (drv)->connectSupportsFeature((conn), (feature)) : 0)
 
 
 #define __VIR_DRIVER_H_INCLUDES___
-- 
1.8.3.1




More information about the libvir-list mailing list