diff --git a/src/allmydata/client.py b/src/allmydata/client.py index f0b3927b9..994fa6d93 100644 --- a/src/allmydata/client.py +++ b/src/allmydata/client.py @@ -96,6 +96,7 @@ class Client(node.Node, Referenceable): nodeid=self.nodeid, node=self, pburl=self.my_pburl) + d.addCallback(lambda x: queen.callRemote("get_global_vdrive")) d.addCallback(self._got_vdrive_root) def _got_vdrive_root(self, root): diff --git a/src/allmydata/interfaces.py b/src/allmydata/interfaces.py index c1c5a3725..5da76b9c4 100644 --- a/src/allmydata/interfaces.py +++ b/src/allmydata/interfaces.py @@ -19,7 +19,11 @@ RIMutableFileNode_ = Any() class RIQueenRoster(RemoteInterface): def hello(nodeid=Nodeid, node=RIClient_, pburl=PBURL): + return None + + def get_global_vdrive(): return RIMutableDirectoryNode_ # the virtual drive root + class RIClient(RemoteInterface): def get_service(name=str): diff --git a/src/allmydata/queen.py b/src/allmydata/queen.py index aff8ee76f..2cec7c843 100644 --- a/src/allmydata/queen.py +++ b/src/allmydata/queen.py @@ -39,6 +39,8 @@ class Roster(service.MultiService, Referenceable): eventually(self._announce_new_peer, nodeid, pburl, list(self.connections.values())) node.notifyOnDisconnect(self._lost_node, nodeid) + + def remote_get_global_vdrive(self): return self.gvd_root def _educate_the_new_peer(self, nodeid, node, new_peers):