diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-07-05 17:13:31 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-08-28 23:14:06 +0200 |
commit | cc96e7a24e8d6ab074ee9023c99cc6ff88fe9d06 (patch) | |
tree | f725de00820f6f4a5f07a8849fdecd0dc9288995 | |
parent | bf827fd801c76175d268b688f3bf9c757fa9e189 (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.c | 12 |
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) |