BeeGFS is a shared/distributed filesystem:
https://doc.beegfs.io/latest/overview/overview.html
Mark it as shared based on it's magic number:
https://git.beegfs.io/pub/v7/-/blob/master/client_module/source/filesyste...
Closes:
https://gitlab.com/libvirt/libvirt/-/issues/508
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/util/virfile.c | 6 +++++-
src/util/virfile.h | 1 +
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 7c44a2a963..2984e2ead2 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -3382,6 +3382,8 @@ virFileRemoveLastComponent(char *path)
# endif
# define VIR_ACFS_MAGIC 0x61636673
+/*
https://git.beegfs.io/pub/v7/-/blob/master/client_module/source/filesyste...
*/
+# define VIR_BEEGFS_MAGIC 0x19830326 /* formerly fhgfs */
# define PROC_MOUNTS "/proc/mounts"
@@ -3469,6 +3471,7 @@ static const struct virFileSharedFsData virFileSharedFs[] = {
{ .fstype = VIR_FILE_SHFS_CEPH, .magic = CEPH_SUPER_MAGIC },
{ .fstype = VIR_FILE_SHFS_GPFS, .magic = GPFS_SUPER_MAGIC },
{ .fstype = VIR_FILE_SHFS_ACFS, .magic = VIR_ACFS_MAGIC },
+ { .fstype = VIR_FILE_SHFS_BEEGFS, .magic = VIR_BEEGFS_MAGIC },
};
@@ -3719,7 +3722,8 @@ int virFileIsSharedFS(const char *path)
VIR_FILE_SHFS_GPFS|
VIR_FILE_SHFS_QB |
VIR_FILE_SHFS_ACFS |
- VIR_FILE_SHFS_GLUSTERFS);
+ VIR_FILE_SHFS_GLUSTERFS |
+ VIR_FILE_SHFS_BEEGFS);
}
diff --git a/src/util/virfile.h b/src/util/virfile.h
index b75a7cc53b..60bb1d64e7 100644
--- a/src/util/virfile.h
+++ b/src/util/virfile.h
@@ -226,6 +226,7 @@ enum {
VIR_FILE_SHFS_QB = (1 << 8), /* Quobyte shared filesystem */
VIR_FILE_SHFS_ACFS = (1 << 9), /* Oracle ASM Cluster File System */
VIR_FILE_SHFS_GLUSTERFS = (1 << 10), /* gluster's FUSE-based client */
+ VIR_FILE_SHFS_BEEGFS = (1 << 11), /* BeeGFS/fhGFS */
};
int virFileIsSharedFSType(const char *path, unsigned int fstypes) ATTRIBUTE_NONNULL(1);
--
2.41.0