Merge pull request #21392 from keszybz/memleak-fix-and-assorted-fs-code-cleanups

Memleak fix and assorted fs code cleanups
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2021-11-16 18:57:04 +01:00
committed by GitHub
7 changed files with 81 additions and 74 deletions
+14 -24
View File
@@ -7,32 +7,22 @@ import sys
def filter_fsname(name):
# File system magics are sometimes not unique, because file systems got new
# revisions or got renamed. Let's prefer newer over older here, and thus
# ignore the old names. Specifically:
#
# → cgroupfs took over the magic of cpuset
# → devtmpfs is not a file system of its own, but just a "named superblock" of tmpfs
# → ext4 is the newest revision of ext2 + ext3
# → fuseblk is closely related to fuse, so close that they share a single magic, but the latter is more common
# → gfs2 is the newest revision of gfs
# → vfat is the newest revision of msdos
# → ncpfs (not ncp) was the last name of the netware `file_system_type` name before it was removed in 2018
# → nfs4 is the newest revision of nfs
# → orangefs is the new name of pvfs2
# → smb3 is an alias for cifs
# ignore the old names.
return name in (
"cpuset",
"devtmpfs",
"ext2",
return name in {
"cpuset", # magic taken over by cgroupfs
"devtmpfs", # not a file system of its own, but just a "named superblock" of tmpfs
"ext2", # ext4 is the newest revision of ext2 + ext3
"ext3",
"fuseblk",
"gfs",
"msdos",
"ncp",
"nfs",
"pvfs2",
"smb3",
)
"fuseblk", # closely related to fuse; they share a single magic, but the latter is more common
"gfs", # magic taken over by gfs2
"msdos", # vfat is the newest revision of msdos
"ncp", # ncpfs (not ncp) was the last name of the netware `file_system_type`
# name before it was removed in 2018
"nfs", # nfs4 is the newest revision of nfs
"pvfs2", # orangefs is the new name of pvfs2
"smb3", # smb3 is an alias for cifs
}
gperf_file = sys.argv[1]
+2
View File
@@ -411,6 +411,7 @@ bool fstype_is_ro(const char *fstype) {
/* All Linux file systems that are necessarily read-only */
return STR_IN_SET(fstype,
"DM_verity_hash",
"cramfs",
"erofs",
"iso9660",
"squashfs");
@@ -419,6 +420,7 @@ bool fstype_is_ro(const char *fstype) {
bool fstype_can_discard(const char *fstype) {
return STR_IN_SET(fstype,
"btrfs",
"f2fs",
"ext4",
"vfat",
"xfs");