Kernel commit dea2903719283c156b53741126228c4a1b40440f exposed (and renamed) CIFS_MAGIC_NUMBER as CIFS_SUPER_MAGIC along with SMB2_SUPER_MAGIC. This fixes the following build fail on current Fedora Rawhide: ``` ../src/basic/meson.build:389:8: ERROR: Problem encountered: found unknown filesystem(s) defined in kernel headers: Filesystem found in kernel header but not in filesystems-gperf.gperf: CIFS_SUPER_MAGIC Filesystem found in kernel header but not in filesystems-gperf.gperf: SMB2_SUPER_MAGIC ```
132 lines
4.7 KiB
Plaintext
132 lines
4.7 KiB
Plaintext
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
%{
|
|
#include <linux/magic.h>
|
|
|
|
#include "filesystems.h"
|
|
#include "missing_magic.h"
|
|
#include "stat-util.h"
|
|
|
|
struct FilesystemMagic {
|
|
const char *name;
|
|
statfs_f_type_t magic[FILESYSTEM_MAGIC_MAX];
|
|
};
|
|
%}
|
|
struct FilesystemMagic;
|
|
%language=ANSI-C
|
|
%define hash-function-name filesystems_gperf_hash
|
|
%define lookup-function-name filesystems_gperf_lookup
|
|
%define slot-name name
|
|
%readonly-tables
|
|
%omit-struct-type
|
|
%struct-type
|
|
%includes
|
|
%%
|
|
apparmorfs, {AAFS_MAGIC}
|
|
adfs, {ADFS_SUPER_MAGIC}
|
|
affs, {AFFS_SUPER_MAGIC}
|
|
afs, {AFS_FS_MAGIC, AFS_SUPER_MAGIC}
|
|
anon_inodefs, {ANON_INODE_FS_MAGIC}
|
|
autofs, {AUTOFS_SUPER_MAGIC}
|
|
balloon-kvm, {BALLOON_KVM_MAGIC}
|
|
bdev, {BDEVFS_MAGIC}
|
|
binder, {BINDERFS_SUPER_MAGIC}
|
|
binfmt_misc, {BINFMTFS_MAGIC}
|
|
bpf, {BPF_FS_MAGIC}
|
|
btrfs, {BTRFS_SUPER_MAGIC}
|
|
btrfs_test_fs, {BTRFS_TEST_MAGIC}
|
|
# cpuset's magic got reassigned to cgroupfs
|
|
cpuset, {CGROUP_SUPER_MAGIC}
|
|
ceph, {CEPH_SUPER_MAGIC}
|
|
cgroup2, {CGROUP2_SUPER_MAGIC}
|
|
# note that the cgroupfs magic got reassigned from cpuset
|
|
cgroup, {CGROUP_SUPER_MAGIC}
|
|
cifs, {CIFS_SUPER_MAGIC, SMB2_SUPER_MAGIC}
|
|
coda, {CODA_SUPER_MAGIC}
|
|
configfs, {CONFIGFS_MAGIC}
|
|
cramfs, {CRAMFS_MAGIC}
|
|
dax, {DAXFS_MAGIC}
|
|
debugfs, {DEBUGFS_MAGIC}
|
|
devmem, {DEVMEM_MAGIC}
|
|
devpts, {DEVPTS_SUPER_MAGIC}
|
|
# devtmpfs is just a special instance of tmpfs, hence it reports its magic
|
|
devtmpfs, {TMPFS_MAGIC}
|
|
dmabuf, {DMA_BUF_MAGIC}
|
|
ecryptfs, {ECRYPTFS_SUPER_MAGIC}
|
|
efivarfs, {EFIVARFS_MAGIC}
|
|
efs, {EFS_SUPER_MAGIC}
|
|
erofs, {EROFS_SUPER_MAGIC_V1}
|
|
# ext2 + ext3 + ext4 use the same magic
|
|
ext2, {EXT2_SUPER_MAGIC}
|
|
ext3, {EXT3_SUPER_MAGIC}
|
|
ext4, {EXT4_SUPER_MAGIC}
|
|
exfat, {EXFAT_SUPER_MAGIC}
|
|
f2fs, {F2FS_SUPER_MAGIC}
|
|
# fuseblk is so closely related to fuse that it shares the same magic
|
|
fuseblk, {FUSE_SUPER_MAGIC}
|
|
fuse, {FUSE_SUPER_MAGIC}
|
|
fusectl, {FUSE_CTL_SUPER_MAGIC}
|
|
# gfs is an old version of gfs2 and reuses the magic
|
|
gfs, {GFS2_MAGIC}
|
|
gfs2, {GFS2_MAGIC}
|
|
hostfs, {HOSTFS_SUPER_MAGIC}
|
|
hpfs, {HPFS_SUPER_MAGIC}
|
|
hugetlbfs, {HUGETLBFS_MAGIC}
|
|
iso9660, {ISOFS_SUPER_MAGIC}
|
|
jffs2, {JFFS2_SUPER_MAGIC}
|
|
minix, {MINIX_SUPER_MAGIC, MINIX_SUPER_MAGIC2, MINIX2_SUPER_MAGIC, MINIX2_SUPER_MAGIC2, MINIX3_SUPER_MAGIC}
|
|
mqueue, {MQUEUE_MAGIC}
|
|
# msdos is an older legacy version of vfat, shares the magic
|
|
msdos, {MSDOS_SUPER_MAGIC}
|
|
# ncp/ncpfs have been removed from the kernel, but ncpfs was the official name
|
|
ncp, {NCP_SUPER_MAGIC}
|
|
ncpfs, {NCP_SUPER_MAGIC}
|
|
# nfs is the old version of nfs4, and they share the same magic
|
|
nfs, {NFS_SUPER_MAGIC}
|
|
nfs4, {NFS_SUPER_MAGIC}
|
|
nilfs2, {NILFS_SUPER_MAGIC}
|
|
nsfs, {NSFS_MAGIC}
|
|
ntfs, {NTFS_SB_MAGIC}
|
|
ntfs3, {NTFS3_SUPER_MAGIC}
|
|
ocfs2, {OCFS2_SUPER_MAGIC}
|
|
openpromfs, {OPENPROM_SUPER_MAGIC}
|
|
orangefs, {ORANGEFS_DEVREQ_MAGIC}
|
|
overlay, {OVERLAYFS_SUPER_MAGIC}
|
|
pipefs, {PIPEFS_MAGIC}
|
|
ppc-cmm, {PPC_CMM_MAGIC}
|
|
proc, {PROC_SUPER_MAGIC}
|
|
pstore, {PSTOREFS_MAGIC}
|
|
# pvfs2 is the old version of orangefs
|
|
pvfs2, {ORANGEFS_DEVREQ_MAGIC}
|
|
qnx4, {QNX4_SUPER_MAGIC}
|
|
qnx6, {QNX6_SUPER_MAGIC}
|
|
ramfs, {RAMFS_MAGIC}
|
|
resctrl, {RDTGROUP_SUPER_MAGIC}
|
|
reiserfs, {REISERFS_SUPER_MAGIC}
|
|
rpc_pipefs, {RPC_PIPEFS_SUPER_MAGIC}
|
|
secretmem, {SECRETMEM_MAGIC}
|
|
securityfs, {SECURITYFS_MAGIC}
|
|
selinuxfs, {SELINUX_MAGIC}
|
|
shiftfs, {SHIFTFS_MAGIC}
|
|
smackfs, {SMACK_MAGIC}
|
|
# smb3 is an alias for cifs
|
|
smb3, {CIFS_SUPER_MAGIC}
|
|
# smbfs was removed from the kernel in 2010, the magic remains
|
|
smbfs, {SMB_SUPER_MAGIC}
|
|
sockfs, {SOCKFS_MAGIC}
|
|
squashfs, {SQUASHFS_MAGIC}
|
|
sysfs, {SYSFS_MAGIC}
|
|
# note that devtmpfs shares the same magic with tmpfs, given it is just a special named instance of it.
|
|
tmpfs, {TMPFS_MAGIC}
|
|
tracefs, {TRACEFS_MAGIC}
|
|
udf, {UDF_SUPER_MAGIC}
|
|
usbdevfs, {USBDEVICE_SUPER_MAGIC}
|
|
vboxsf, {VBOXSF_SUPER_MAGIC}
|
|
# note that msdos shares the same magic (and is the older version)
|
|
vfat, {MSDOS_SUPER_MAGIC}
|
|
v9fs, {V9FS_MAGIC}
|
|
xenfs, {XENFS_SUPER_MAGIC}
|
|
xfs, {XFS_SUPER_MAGIC}
|
|
z3fold, {Z3FOLD_MAGIC}
|
|
zonefs, {ZONEFS_MAGIC}
|
|
zsmalloc, {ZSMALLOC_MAGIC}
|