bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 3/6] trans/mtab: ignore translators that do not implement file_ge


From: Justus Winter
Subject: [PATCH 3/6] trans/mtab: ignore translators that do not implement file_get_source
Date: Tue, 11 Feb 2014 17:13:09 +0100

Previously, the mtab translator would guess the source of a filesystem
translator from its last argument.  This made all kinds of
non-filesystem translators appear in /proc/mounts, causing severe
problems due to umount --all removing vital passive translator
records.

Fix this by ignoring all translators that do not explicitly implement
file_get_source.

* trans/mtab.c (mtab_populate): Ignore translators that do not
implement file_get_source.
---
 trans/mtab.c | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/trans/mtab.c b/trans/mtab.c
index 9a2c5a6..744c435 100644
--- a/trans/mtab.c
+++ b/trans/mtab.c
@@ -423,19 +423,12 @@ mtab_populate (struct mtab *mtab, const char *path, int 
insecure)
   string_t source;
   err = file_get_source (node, source);
   if (err)
-    {
-      if (err == EOPNOTSUPP)
-       {
-         /* Guess based on the last argument.  */
-         err = map_device_to_path (argv[count - 1], &src);
-         if (err)
-           goto errout;
-       }
-      else
-       goto errout;
-    }
-  else
-    src = source;
+    goto errout;
+
+  /* Guess based on the last argument. */
+  err = map_device_to_path (source, &src);
+  if (err)
+    goto errout;
 
   entry_len = asprintf (&entry, "%s %s %s %s 0 0\n", src, path, type,
                        options? options: MNTOPT_DEFAULTS);
-- 
1.8.5.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]