summaryrefslogtreecommitdiff
path: root/mount.c
diff options
context:
space:
mode:
Diffstat (limited to 'mount.c')
-rw-r--r--mount.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/mount.c b/mount.c
index 72c720d..c73ad8d 100644
--- a/mount.c
+++ b/mount.c
@@ -27,6 +27,7 @@
#include "mount.h"
#include "lib.h"
+#include "ulfs.h"
/* The command line for starting the mountee. */
char * mountee_argz;
@@ -144,7 +145,9 @@ start_mountee (node_t * np, char * argz, size_t argz_len, mach_port_t * port)
return err;
} /* start_mountee */
-/* Sets up a proxy node and sets the translator on it. */
+/* Sets up a proxy node, sets the translator on it, and registers the
+ filesystem published by the translator in the list of merged
+ filesystems. */
error_t
setup_unionmount (void)
{
@@ -166,6 +169,15 @@ setup_unionmount (void)
if (err)
return err;
+ /* A path equal to "" will mean that the current ULFS entry is the
+ mountee port. */
+ ulfs_register ("", 0, 0);
+
+ /* Reinitialize the list of merged filesystems to take into account
+ the newly added mountee's filesystem. */
+ ulfs_check ();
+ node_init_root (netfs_root_node);
+
mountee_started = 1;
return 0;