From: John Spray Date: Wed, 1 Apr 2015 22:47:06 +0000 (+0100) Subject: client: subscribe to map on pool full X-Git-Tag: v9.0.2~156^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=008344542eec37d787410cd7bb36f839b3ea1030;p=ceph.git client: subscribe to map on pool full Similar to what the objecter does for us when the cluster-wide full flag is set. This allows us to pick up when the pool isn't full any more. Signed-off-by: John Spray --- diff --git a/src/client/Client.cc b/src/client/Client.cc index cd4a8310c487..11e1b49e5f69 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -2155,6 +2155,14 @@ void Client::handle_osd_map(MOSDMap *m) i != full_pools.end(); ++i) { _handle_full_flag(*i); } + + // Subscribe to subsequent maps to watch for the full flag going + // away. For the global full flag objecter does this for us, but + // it pays no attention to the per-pool full flag so in this branch + // we do it ourselves. + if (!full_pools.empty()) { + objecter->maybe_request_map(); + } } m->put();