[libvirt] [PATCH v4 11/25] virFileSetXAttr: Report error on failure

Michal Privoznik mprivozn at redhat.com
Thu Apr 25 08:19:47 UTC 2019


It's better to have the function report errors, because none of
the callers does.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
Reviewed-by: Cole Robinson <crobinso at redhat.com>
---
 src/util/virfile.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/util/virfile.c b/src/util/virfile.c
index 00f69dce69..75ec9e0bd8 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -4421,14 +4421,21 @@ virFileGetXAttrQuiet(const char *path,
  * Sets xattr of @name and @value on @path.
  *
  * Returns: 0 on success,
- *         -1 otherwise (with errno set).
+ *         -1 otherwise (with errno set AND error reported).
  */
 int
 virFileSetXAttr(const char *path,
                 const char *name,
                 const char *value)
 {
-    return setxattr(path, name, value, strlen(value), 0);
+    if (setxattr(path, name, value, strlen(value), 0) < 0) {
+        virReportSystemError(errno,
+                             _("Unable to set XATTR %s on %s"),
+                             name, path);
+        return -1;
+    }
+
+    return 0;
 }
 
 /**
@@ -4460,11 +4467,14 @@ virFileGetXAttrQuiet(const char *path ATTRIBUTE_UNUSED,
 }
 
 int
-virFileSetXAttr(const char *path ATTRIBUTE_UNUSED,
-                const char *name ATTRIBUTE_UNUSED,
+virFileSetXAttr(const char *path,
+                const char *name,
                 const char *value ATTRIBUTE_UNUSED)
 {
     errno = ENOSYS;
+    virReportSystemError(errno,
+                         _("Unable to set XATTR %s on %s"),
+                         name, path);
     return -1;
 }
 
-- 
2.21.0




More information about the libvir-list mailing list