From 008344542eec37d787410cd7bb36f839b3ea1030 Mon Sep 17 00:00:00 2001 From: John Spray Date: Wed, 1 Apr 2015 23:47:06 +0100 Subject: [PATCH] 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 --- src/client/Client.cc | 8 ++++++++ 1 file changed, 8 insertions(+) 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(); -- 2.47.3