diff --git a/src/libraries/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs b/src/libraries/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs index c7c4dd1ff3bd25..186f589401eb7c 100644 --- a/src/libraries/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs +++ b/src/libraries/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs @@ -114,6 +114,7 @@ private static DriveType GetDriveType(string fileSystemName) case "anon-inode FS": case "apfs": case "balloon-kvm-fs": + case "bcachefs": case "bdevfs": case "befs": case "bfs": @@ -126,6 +127,7 @@ private static DriveType GetDriveType(string fileSystemName) case "drvfs": case "efivarfs": case "efs": + case "erofs": case "exfat": case "exofs": case "ext": @@ -207,6 +209,7 @@ private static DriveType GetDriveType(string fileSystemName) case "xmount": case "zfs": case "zfs-fuse": + case "zonefs": case "zsmallocfs": return DriveType.Fixed; @@ -274,6 +277,7 @@ private static DriveType GetDriveType(string fileSystemName) case "aptfs": case "avfs": case "bdev": + case "binderfs": case "bpf": case "binfmt_misc": case "cgroup": @@ -308,12 +312,14 @@ private static DriveType GetDriveType(string fileSystemName) case "objfs": case "openprom": case "openpromfs": + case "pidfs": case "pipefs": case "plptools": case "proc": case "pstore": case "pytagsfs": case "ramfs": + case "rdtgroup": case "rofs": case "romfs": case "rootfs": diff --git a/src/libraries/Common/src/Interop/Unix/System.Native/Interop.UnixFileSystemTypes.cs b/src/libraries/Common/src/Interop/Unix/System.Native/Interop.UnixFileSystemTypes.cs index dd4ef23319febe..abc2c87a641f2b 100644 --- a/src/libraries/Common/src/Interop/Unix/System.Native/Interop.UnixFileSystemTypes.cs +++ b/src/libraries/Common/src/Interop/Unix/System.Native/Interop.UnixFileSystemTypes.cs @@ -21,6 +21,7 @@ internal static partial class Sys /// internal enum UnixFileSystemTypes : uint { + aafs = 0x5A3C69F0, adfs = 0xADF5, affs = 0xADFF, afs = 0x5346414F, @@ -29,13 +30,16 @@ internal enum UnixFileSystemTypes : uint aufs = 0x61756673, autofs = 0x0187, autofs4 = 0x6D4A556D, + bcachefs = 0xCA451A4E, befs = 0x42465331, bdev = 0x62646576, bfs = 0x1BADFACE, bpf_fs = 0xCAFE4A11, + binderfs = 0x6C6F6F70, binfmt_misc = 0x42494E4D, bootfs = 0xA56D3FF9, btrfs = 0x9123683E, + btrfs_test = 0x73727279, ceph = 0x00C36400, cgroup = 0x0027E0EB, cgroup2 = 0x63677270, @@ -47,11 +51,15 @@ internal enum UnixFileSystemTypes : uint cramfs = 0x28CD3D45, // ctfs = 0x01021994, // same as tmpfs debugfs = 0x64626720, + daxfs = 0x64646178, dev = 0x1373, // devfs = 0x1373, // same as dev devpts = 0x1CD1, ecryptfs = 0xF15F, + efivarfs = 0xDE5E81E4, efs = 0x00414A53, + erofs = 0xE0F5E1E2, + exfat = 0x2011BAB0, exofs = 0x5DF5, ext = 0x137D, ext2_old = 0xEF51, @@ -71,8 +79,10 @@ internal enum UnixFileSystemTypes : uint gpfs = 0x47504653, hfs = 0x4244, hfsplus = 0x482B, + hostfs = 0x00C0FFEE, hpfs = 0xF995E849, hugetlbfs = 0x958458F6, + ibrix = 0x013111A8, inodefs = 0x11307854, inotifyfs = 0x2BAD1DEA, isofs = 0x9660, @@ -97,6 +107,7 @@ internal enum UnixFileSystemTypes : uint nfsd = 0x6E667364, nilfs = 0x3434, novell = 0x564C, + nsfs = 0x6E736673, ntfs = 0x5346544E, // objfs = 0x01021994, // same as tmpfs ocfs2 = 0x7461636F, @@ -105,12 +116,15 @@ internal enum UnixFileSystemTypes : uint overlay = 0x794C7630, overlayfs = 0x794C764F, panfs = 0xAAD7AAEA, + pidfs = 0x50494446, pipefs = 0x50495045, + prl_fs = 0x7C7C6673, proc = 0x9FA0, pstore = 0x6165676C, qnx4 = 0x002F, qnx6 = 0x68191122, ramfs = 0x858458F6, + rdtgroup = 0x07655821, reiserfs = 0x52654973, romfs = 0x7275, rootfs = 0x53464846, @@ -123,6 +137,8 @@ internal enum UnixFileSystemTypes : uint // sharefs = 0x01021994, // same as tmpfs smb = 0x517B, smb2 = 0xFE534D42, + smackfs = 0x43415D53, + snfs = 0xBEEFDEAD, sockfs = 0x534F434B, squashfs = 0x73717368, sysfs = 0x62656572, @@ -148,6 +164,7 @@ internal enum UnixFileSystemTypes : uint xia = 0x012FD16D, // udev = 0x01021994, // same as tmpfs zfs = 0x2FC12FC1, + zonefs = 0x5A4F4653, } [LibraryImport(Libraries.SystemNative, EntryPoint = "SystemNative_GetFileSystemType")] diff --git a/src/native/libs/System.Native/pal_io.c b/src/native/libs/System.Native/pal_io.c index 23b226d74e0362..92c8744c360749 100644 --- a/src/native/libs/System.Native/pal_io.c +++ b/src/native/libs/System.Native/pal_io.c @@ -1565,7 +1565,8 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) { uint32_t result = 0; - if (strcmp(fileSystemName, "adfs") == 0) result = 0xADF5; + if (strcmp(fileSystemName, "aafs") == 0) result = 0x5A3C69F0; + else if (strcmp(fileSystemName, "adfs") == 0) result = 0xADF5; else if (strcmp(fileSystemName, "affs") == 0) result = 0xADFF; else if (strcmp(fileSystemName, "afs") == 0) result = 0x5346414F; else if (strcmp(fileSystemName, "anoninode") == 0) result = 0x09041934; @@ -1573,13 +1574,16 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "aufs") == 0) result = 0x61756673; else if (strcmp(fileSystemName, "autofs") == 0) result = 0x0187; else if (strcmp(fileSystemName, "autofs4") == 0) result = 0x6D4A556D; + else if (strcmp(fileSystemName, "bcachefs") == 0) result = 0xCA451A4E; else if (strcmp(fileSystemName, "befs") == 0) result = 0x42465331; else if (strcmp(fileSystemName, "bdevfs") == 0) result = 0x62646576; else if (strcmp(fileSystemName, "bfs") == 0) result = 0x1BADFACE; else if (strcmp(fileSystemName, "bpf_fs") == 0) result = 0xCAFE4A11; + else if (strcmp(fileSystemName, "binderfs") == 0) result = 0x6C6F6F70; else if (strcmp(fileSystemName, "binfmt_misc") == 0) result = 0x42494E4D; else if (strcmp(fileSystemName, "bootfs") == 0) result = 0xA56D3FF9; else if (strcmp(fileSystemName, "btrfs") == 0) result = 0x9123683E; + else if (strcmp(fileSystemName, "btrfs_test") == 0) result = 0x73727279; else if (strcmp(fileSystemName, "ceph") == 0) result = 0x00C36400; else if (strcmp(fileSystemName, "cgroupfs") == 0) result = 0x0027E0EB; else if (strcmp(fileSystemName, "cgroup2fs") == 0) result = 0x63677270; @@ -1591,11 +1595,15 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "cramfs") == 0) result = 0x28CD3D45; else if (strcmp(fileSystemName, "ctfs") == 0) result = 0x01021994; else if (strcmp(fileSystemName, "debugfs") == 0) result = 0x64626720; + else if (strcmp(fileSystemName, "daxfs") == 0) result = 0x64646178; else if (strcmp(fileSystemName, "dev") == 0) result = 0x1373; else if (strcmp(fileSystemName, "devfs") == 0) result = 0x1373; else if (strcmp(fileSystemName, "devpts") == 0) result = 0x1CD1; else if (strcmp(fileSystemName, "ecryptfs") == 0) result = 0xF15F; + else if (strcmp(fileSystemName, "efivarfs") == 0) result = 0xDE5E81E4; else if (strcmp(fileSystemName, "efs") == 0) result = 0x00414A53; + else if (strcmp(fileSystemName, "erofs") == 0) result = 0xE0F5E1E2; + else if (strcmp(fileSystemName, "exfat") == 0) result = 0x2011BAB0; else if (strcmp(fileSystemName, "exofs") == 0) result = 0x5DF5; else if (strcmp(fileSystemName, "ext") == 0) result = 0x137D; else if (strcmp(fileSystemName, "ext2_old") == 0) result = 0xEF51; @@ -1615,8 +1623,10 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "gpfs") == 0) result = 0x47504653; else if (strcmp(fileSystemName, "hfs") == 0) result = 0x4244; else if (strcmp(fileSystemName, "hfsplus") == 0) result = 0x482B; + else if (strcmp(fileSystemName, "hostfs") == 0) result = 0x00C0FFEE; else if (strcmp(fileSystemName, "hpfs") == 0) result = 0xF995E849; else if (strcmp(fileSystemName, "hugetlbfs") == 0) result = 0x958458F6; + else if (strcmp(fileSystemName, "ibrix") == 0) result = 0x013111A8; else if (strcmp(fileSystemName, "inodefs") == 0) result = 0x11307854; else if (strcmp(fileSystemName, "inotifyfs") == 0) result = 0x2BAD1DEA; else if (strcmp(fileSystemName, "isofs") == 0) result = 0x9660; @@ -1639,6 +1649,7 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "nfsd") == 0) result = 0x6E667364; else if (strcmp(fileSystemName, "nilfs") == 0) result = 0x3434; else if (strcmp(fileSystemName, "novell") == 0) result = 0x564C; + else if (strcmp(fileSystemName, "nsfs") == 0) result = 0x6E736673; else if (strcmp(fileSystemName, "ntfs") == 0) result = 0x5346544E; else if (strcmp(fileSystemName, "objfs") == 0) result = 0x01021994; else if (strcmp(fileSystemName, "ocfs2") == 0) result = 0x7461636F; @@ -1647,12 +1658,15 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "overlay") == 0) result = 0x794C7630; else if (strcmp(fileSystemName, "overlayfs") == 0) result = 0x794C764F; else if (strcmp(fileSystemName, "panfs") == 0) result = 0xAAD7AAEA; + else if (strcmp(fileSystemName, "pidfs") == 0) result = 0x50494446; else if (strcmp(fileSystemName, "pipefs") == 0) result = 0x50495045; + else if (strcmp(fileSystemName, "prl_fs") == 0) result = 0x7C7C6673; else if (strcmp(fileSystemName, "proc") == 0) result = 0x9FA0; else if (strcmp(fileSystemName, "pstorefs") == 0) result = 0x6165676C; else if (strcmp(fileSystemName, "qnx4") == 0) result = 0x002F; else if (strcmp(fileSystemName, "qnx6") == 0) result = 0x68191122; else if (strcmp(fileSystemName, "ramfs") == 0) result = 0x858458F6; + else if (strcmp(fileSystemName, "rdtgroup") == 0) result = 0x07655821; else if (strcmp(fileSystemName, "reiserfs") == 0) result = 0x52654973; else if (strcmp(fileSystemName, "romfs") == 0) result = 0x7275; else if (strcmp(fileSystemName, "rootfs") == 0) result = 0x53464846; @@ -1665,6 +1679,8 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "sharefs") == 0) result = 0x01021994; else if (strcmp(fileSystemName, "smb") == 0) result = 0x517B; else if (strcmp(fileSystemName, "smb2") == 0) result = 0xFE534D42; + else if (strcmp(fileSystemName, "smackfs") == 0) result = 0x43415D53; + else if (strcmp(fileSystemName, "snfs") == 0) result = 0xBEEFDEAD; else if (strcmp(fileSystemName, "sockfs") == 0) result = 0x534F434B; else if (strcmp(fileSystemName, "squashfs") == 0) result = 0x73717368; else if (strcmp(fileSystemName, "sysfs") == 0) result = 0x62656572; @@ -1690,6 +1706,7 @@ static uint32_t MapFileSystemNameToEnum(const char* fileSystemName) else if (strcmp(fileSystemName, "xia") == 0) result = 0x012FD16D; else if (strcmp(fileSystemName, "udev") == 0) result = 0x01021994; else if (strcmp(fileSystemName, "zfs") == 0) result = 0x2FC12FC1; + else if (strcmp(fileSystemName, "zonefs") == 0) result = 0x5A4F4653; assert(result != 0); return result;