Hi,
we noticed a problem concerning loop mounts on locations that
have to be mounted before. E.g. consider the following situation,
a NFS server exporting a cd image, which we want to loop mount
locally to get access to the content:
auto.master:
/cdimage auto.cdimage
/cdcontent auto.cdcontent
auto.cdimage:
foo nfsserver:/cdimage/foo.img
auto.cdcontent:
foo -fstype=auto,loop :/cdimage/foo/foo.img
The access to /cdcontent/foo will fail, when /cdimage/foo is not
mounted before, because spawn_mount does not use SPAWN_OPT_ACCESS
in this case.
The patch below fixes this problem.
Matthias
Index: autofs-git20070924/daemon/spawn.c
===================================================================
--- autofs-git20070924.orig/daemon/spawn.c
+++ autofs-git20070924/daemon/spawn.c
@@ -293,6 +293,13 @@ int spawn_mount(logger *log, ...)
while ((*p++ = va_arg(arg, char *)));
va_end(arg);
+#ifndef ENABLE_MOUNT_LOCKING
+ /* validate loop mounts as they could be on some location to be
+ * mounted first */
+ if (!strcmp(argv[4], "-o") && strstr(argv[5], "loop"))
+ options = SPAWN_OPT_ACCESS;
+#endif
+
while (retries--) {
ret = do_spawn(log, options, prog, (const char **) argv);
if (ret & MTAB_NOTUPDATED)
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs