[libvirt] [PATCHv3 09/36] storage: Switch metadata crawler to use storage driver file access check

Peter Krempa pkrempa at redhat.com
Fri May 30 08:37:31 UTC 2014


Use virStorageFileAccess() to to check whether the file is accessible in
the main part of the metadata crawler.
---

Notes:
    Version 3:
    - fixed typo
    - ACKed

 src/storage/storage_driver.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index b074047..787171d 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -3103,13 +3103,6 @@ virFindBackingFile(const char *start, const char *path,
         goto cleanup;
     }

-    if (virFileAccessibleAs(combined, F_OK, geteuid(), getegid()) < 0) {
-        virReportSystemError(errno,
-                             _("Cannot access backing file '%s'"),
-                             combined);
-        goto cleanup;
-    }
-
     if (!(*canonical = canonicalize_file_name(combined))) {
         virReportSystemError(errno,
                              _("Can't canonicalize path '%s'"), path);
@@ -3151,6 +3144,13 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
     if (virStorageFileInitAs(src, uid, gid) < 0)
         return -1;

+    if (virStorageFileAccess(src, F_OK) < 0) {
+        virReportSystemError(errno,
+                             _("Cannot access backing file %s"),
+                             src->path);
+        goto cleanup;
+    }
+
     if (!(uniqueName = virStorageFileGetUniqueIdentifier(src)))
         goto cleanup;

-- 
1.9.3




More information about the libvir-list mailing list