diff options
author | Franck Bui <fbui@suse.com> | 2017-06-26 15:22:10 +0200 |
---|---|---|
committer | Franck Bui <fbui@suse.com> | 2017-06-27 10:04:46 +0200 |
commit | 6c1921e9f39ce450bbd066341afc6a677ef122cb (patch) | |
tree | 32e40a81559ecea510cf27456138642b6ae957a9 /src/shared/fstab-util.c | |
parent | b9088048b15cd21242b2308498fa865f864bfe45 (diff) | |
download | systemd-6c1921e9f39ce450bbd066341afc6a677ef122cb.tar.gz |
fstab-util: introduce fstab_has_fstype() helper
Diffstat (limited to 'src/shared/fstab-util.c')
-rw-r--r-- | src/shared/fstab-util.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c index 5675b0beac..ec2e868ca8 100644 --- a/src/shared/fstab-util.c +++ b/src/shared/fstab-util.c @@ -34,6 +34,26 @@ #include "strv.h" #include "util.h" +int fstab_has_fstype(const char *fstype) { + _cleanup_endmntent_ FILE *f = NULL; + struct mntent *m; + + f = setmntent("/etc/fstab", "re"); + if (!f) + return errno == ENOENT ? false : -errno; + + for (;;) { + errno = 0; + m = getmntent(f); + if (!m) + return errno != 0 ? -errno : false; + + if (streq(m->mnt_type, fstype)) + return true; + } + return false; +} + int fstab_is_mount_point(const char *mount) { _cleanup_endmntent_ FILE *f = NULL; struct mntent *m; |