summaryrefslogtreecommitdiff
path: root/sutils
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2013-07-05 17:13:31 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-08-28 23:14:06 +0200
commitcc96e7a24e8d6ab074ee9023c99cc6ff88fe9d06 (patch)
treef725de00820f6f4a5f07a8849fdecd0dc9288995 /sutils
parentbf827fd801c76175d268b688f3bf9c757fa9e189 (diff)
sutils: allow multiple entries for the device "none"
Previously it was not possible to add two mount entries with the same device information to an fstab structure. This is easily fixed by breaking the assumption, that there is only one possible mount entry for the "none" device as used by many purely virtual file systems. * utils/fstab.c (fstab_find_device): Return NULL if name is "none".
Diffstat (limited to 'sutils')
-rw-r--r--sutils/fstab.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sutils/fstab.c b/sutils/fstab.c
index 1492ccde..e2918a6c 100644
--- a/sutils/fstab.c
+++ b/sutils/fstab.c
@@ -457,11 +457,19 @@ fs_remount (struct fs *fs)
return err;
}
-/* Returns the FS entry in FSTAB with the device field NAME (there can only
- be one such entry). */
+/* Returns the FS entry in FSTAB with the device field NAME.
+
+ In general there can only be one such entry. This holds not true
+ for virtual file systems that use "none" as device name.
+
+ If name is "none", NULL is returned. This also makes it possible to
+ add more than one entry for the device "none". */
inline struct fs *
fstab_find_device (const struct fstab *fstab, const char *name)
{
+ if (strcmp (name, "none") == 0)
+ return NULL;
+
struct fs *fs;
for (fs = fstab->entries; fs; fs = fs->next)
if (strcmp (fs->mntent.mnt_fsname, name) == 0)