[libvirt] [PATCH] util: whitelist Oracle ACFS as a shared filesystem

Daniel P. Berrangé berrange at redhat.com
Tue Nov 26 16:36:30 UTC 2019


The magic number is taken from the coreutils stat.c file since
there is no constant for it in normal system headers.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 src/util/virfile.c | 8 +++++++-
 src/util/virfile.h | 1 +
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/util/virfile.c b/src/util/virfile.c
index fca7ff9d35..3dd2b1a527 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -3426,6 +3426,8 @@ int virFilePrintf(FILE *fp, const char *msg, ...)
 #  define QB_MAGIC 0x51626d6e
 # endif
 
+# define VIR_ACFS_MAGIC 0x61636673
+
 # define PROC_MOUNTS "/proc/mounts"
 
 static int
@@ -3578,6 +3580,9 @@ virFileIsSharedFSType(const char *path,
     if ((fstypes & VIR_FILE_SHFS_QB) &&
         (f_type == QB_MAGIC))
         return 1;
+    if ((fstypes & VIR_FILE_SHFS_ACFS) &&
+        (f_type == VIR_ACFS_MAGIC))
+        return 1;
 
     return 0;
 }
@@ -3765,7 +3770,8 @@ int virFileIsSharedFS(const char *path)
                                  VIR_FILE_SHFS_CIFS |
                                  VIR_FILE_SHFS_CEPH |
                                  VIR_FILE_SHFS_GPFS|
-                                 VIR_FILE_SHFS_QB);
+                                 VIR_FILE_SHFS_QB |
+                                 VIR_FILE_SHFS_ACFS);
 }
 
 
diff --git a/src/util/virfile.h b/src/util/virfile.h
index 9a8709b52c..bcae40ee06 100644
--- a/src/util/virfile.h
+++ b/src/util/virfile.h
@@ -209,6 +209,7 @@ enum {
     VIR_FILE_SHFS_CEPH = (1 << 6),
     VIR_FILE_SHFS_GPFS = (1 << 7),
     VIR_FILE_SHFS_QB = (1 << 8),
+    VIR_FILE_SHFS_ACFS = (1 << 9),
 };
 
 int virFileIsSharedFSType(const char *path, int fstypes) ATTRIBUTE_NONNULL(1);
-- 
2.21.0




More information about the libvir-list mailing list