summaryrefslogtreecommitdiff
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
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".
-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)