diff options
Diffstat (limited to 'debian/patches/sutils-multiple-none.patch')
-rw-r--r-- | debian/patches/sutils-multiple-none.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/patches/sutils-multiple-none.patch b/debian/patches/sutils-multiple-none.patch new file mode 100644 index 00000000..c787b5a7 --- /dev/null +++ b/debian/patches/sutils-multiple-none.patch @@ -0,0 +1,40 @@ +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 e241de6..d3b8b6f 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) +-- +1.7.10.4 + + |