[libvirt] [PATCH for v5.3.0 05/17] virFileRemoveXAttr: Report error on failure

Michal Privoznik mprivozn at redhat.com
Thu Mar 28 15:04:17 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>
---
 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 fbcab404e7..7e1452c6f2 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -4420,13 +4420,20 @@ virFileSetXAttr(const char *path,
  * Remove xattr of @name on @path.
  *
  * Returns: 0 on success,
- *         -1 otherwise (with errno set).
+ *         -1 otherwise (with errno set AND error reported).
  */
 int
 virFileRemoveXAttr(const char *path,
                    const char *name)
 {
-    return removexattr(path, name);
+    if (removexattr(path, name) < 0) {
+        virReportSystemError(errno,
+                             _("Unable to remove XATTR %s on %s"),
+                             name, path);
+        return -1;
+    }
+
+    return 0;
 }
 
 #else /* !HAVE_LIBATTR */
@@ -4453,10 +4460,13 @@ virFileSetXAttr(const char *path,
 }
 
 int
-virFileRemoveXAttr(const char *path ATTRIBUTE_UNUSED,
-                   const char *name ATTRIBUTE_UNUSED)
+virFileRemoveXAttr(const char *path,
+                   const char *name)
 {
     errno = ENOSYS;
+    virReportSystemError(errno,
+                         _("Unable to remove XATTR %s on %s"),
+                         name, path);
     return -1;
 }
 
-- 
2.19.2




More information about the libvir-list mailing list