summaryrefslogtreecommitdiff
path: root/src/basic/mount-util.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-10-04 19:32:12 +0200
committerSven Eden <yamakuzure@gmx.net>2017-10-04 19:32:12 +0200
commit7cd8f97c73ef8e5d6f6734683b4e597307a2cb7c (patch)
treefac3463f8c835f1f81d70ad95957d9e09c2830e3 /src/basic/mount-util.c
parente7e739a60e74d067559bab758ba130ca2ebbace7 (diff)
udevadm,basic: replace nulstr_contains with STR_IN_SET (#6965)
STR_IN_SET is a newer approach which is easier to write and read, and which seems to result in space savings too: before: 4949848 build/src/shared/libelogind-shared-234.so 350704 build/systemctl 4967184 build/elogind 826216 build/udevadm after: 4949848 build/src/shared/libelogind-shared-234.so 350704 build/systemctl 4966888 build/elogind 826168 build/udevadm
Diffstat (limited to 'src/basic/mount-util.c')
-rw-r--r--src/basic/mount-util.c105
1 files changed, 45 insertions, 60 deletions
diff --git a/src/basic/mount-util.c b/src/basic/mount-util.c
index d16f14bc8..640d3649b 100644
--- a/src/basic/mount-util.c
+++ b/src/basic/mount-util.c
@@ -527,82 +527,67 @@ int mount_move_root(const char *path) {
}
bool fstype_is_network(const char *fstype) {
- static const char table[] =
- "afs\0"
- "cifs\0"
- "smbfs\0"
- "sshfs\0"
- "ncpfs\0"
- "ncp\0"
- "nfs\0"
- "nfs4\0"
- "gfs\0"
- "gfs2\0"
- "glusterfs\0"
- "pvfs2\0" /* OrangeFS */
- "ocfs2\0"
- "lustre\0"
- ;
-
const char *x;
x = startswith(fstype, "fuse.");
if (x)
fstype = x;
- return nulstr_contains(table, fstype);
+ return STR_IN_SET(fstype,
+ "afs",
+ "cifs",
+ "smbfs",
+ "sshfs",
+ "ncpfs",
+ "ncp",
+ "nfs",
+ "nfs4",
+ "gfs",
+ "gfs2",
+ "glusterfs",
+ "pvfs2", /* OrangeFS */
+ "ocfs2",
+ "lustre");
}
bool fstype_is_api_vfs(const char *fstype) {
- static const char table[] =
- "autofs\0"
- "bpf\0"
- "cgroup\0"
- "cgroup2\0"
- "configfs\0"
- "cpuset\0"
- "debugfs\0"
- "devpts\0"
- "devtmpfs\0"
- "efivarfs\0"
- "fusectl\0"
- "hugetlbfs\0"
- "mqueue\0"
- "proc\0"
- "pstore\0"
- "ramfs\0"
- "securityfs\0"
- "sysfs\0"
- "tmpfs\0"
- "tracefs\0"
- ;
-
- return nulstr_contains(table, fstype);
+ return STR_IN_SET(fstype,
+ "autofs",
+ "bpf",
+ "cgroup",
+ "cgroup2",
+ "configfs",
+ "cpuset",
+ "debugfs",
+ "devpts",
+ "devtmpfs",
+ "efivarfs",
+ "fusectl",
+ "hugetlbfs",
+ "mqueue",
+ "proc",
+ "pstore",
+ "ramfs",
+ "securityfs",
+ "sysfs",
+ "tmpfs",
+ "tracefs");
}
bool fstype_is_ro(const char *fstype) {
-
/* All Linux file systems that are necessarily read-only */
-
- static const char table[] =
- "DM_verity_hash\0"
- "iso9660\0"
- "squashfs\0"
- ;
-
- return nulstr_contains(table, fstype);
+ return STR_IN_SET(fstype,
+ "DM_verity_hash",
+ "iso9660",
+ "squashfs");
}
bool fstype_can_discard(const char *fstype) {
-
- static const char table[] =
- "btrfs\0"
- "ext4\0"
- "vfat\0"
- "xfs\0"
- ;
-
- return nulstr_contains(table, fstype);
+ return STR_IN_SET(fstype,
+ "btrfs",
+ "ext4",
+ "vfat",
+ "xfs");
}
int repeat_unmount(const char *path, int flags) {