Merge "veyron/services/mounttable: Fixing a bug where a child mounttable (using the -name flag) registering under a root mounttable would re-mount to itself rather than the actual root after TTL expired the first time."
diff --git a/services/mounttable/mounttabled/mounttable.go b/services/mounttable/mounttabled/mounttable.go
index c25ad7b..98df218 100644
--- a/services/mounttable/mounttabled/mounttable.go
+++ b/services/mounttable/mounttabled/mounttable.go
@@ -79,8 +79,6 @@
 		vlog.Errorf("Serve(%v) failed: %v", name, err)
 		os.Exit(1)
 	}
-	mtAddr := naming.JoinAddressName(mtEndpoint.String(), "")
-	r.Namespace().SetRoots(mtAddr)
 
 	vlog.Infof("Mount table service at: %q endpoint: %s",
 		name,
@@ -102,12 +100,15 @@
 			vlog.Errorf("nhServer.Listen failed: %v", err)
 			os.Exit(1)
 		}
-		nh, err := mounttable.NewNeighborhoodServer(*nhName, mtAddr)
+
+		myObjectName := naming.JoinAddressName(mtEndpoint.String(), "")
+
+		nh, err := mounttable.NewNeighborhoodServer(*nhName, myObjectName)
 		if err != nil {
 			vlog.Errorf("NewNeighborhoodServer failed: %v", err)
 			os.Exit(1)
 		}
-		if err := nhServer.Serve("nh", nh); err != nil {
+		if err := nhServer.Serve(naming.JoinAddressName(myObjectName, "//nh"), nh); err != nil {
 			vlog.Errorf("nhServer.Serve failed to register neighborhood: %v", err)
 			os.Exit(1)
 		}