From cc96e7a24e8d6ab074ee9023c99cc6ff88fe9d06 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Fri, 5 Jul 2013 17:13:31 +0200 Subject: 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". --- sutils/fstab.c | 12 ++++++++++-- 1 file 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) -- cgit v1.2.3