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

Daniel P. Berrangé posted 1 patch 4 years, 5 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20191126163630.20589-1-berrange@redhat.com
src/util/virfile.c | 8 +++++++-
src/util/virfile.h | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
[libvirt] [PATCH] util: whitelist Oracle ACFS as a shared filesystem
Posted by Daniel P. Berrangé 4 years, 5 months ago
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@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] util: whitelist Oracle ACFS as a shared filesystem
Posted by Daniel Henrique Barboza 4 years, 4 months ago

On 11/26/19 1:36 PM, Daniel P. Berrangé wrote:
> 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@redhat.com>
> ---

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list