fstab-util: introduce fstab_has_fstype() helper
authorFranck Bui <fbui@suse.com>
Mon, 26 Jun 2017 13:22:10 +0000 (15:22 +0200)
committerFranck Bui <fbui@suse.com>
Tue, 27 Jun 2017 08:04:46 +0000 (10:04 +0200)
src/shared/fstab-util.c
src/shared/fstab-util.h

index 5675b0b..ec2e868 100644 (file)
 #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;
index bae8c0a..bbf0441 100644 (file)
@@ -25,6 +25,7 @@
 #include "macro.h"
 
 int fstab_is_mount_point(const char *mount);
+int fstab_has_fstype(const char *fstype);
 
 int fstab_filter_options(const char *opts, const char *names, const char **namefound, char **value, char **filtered);