From: Varsha Rao Date: Fri, 28 Feb 2020 06:43:31 +0000 (+0530) Subject: mds: Handle blacklisted error in purge queue X-Git-Tag: v16.1.0~2304^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c144d66afa74e8e45a2fc96bb650219d001538bf;p=ceph.git mds: Handle blacklisted error in purge queue This patch adds check to catch blacklisted error from filer. On catching this error, mds will respawn. Fixes: https://tracker.ceph.com/issues/43598 Signed-off-by: Varsha Rao --- diff --git a/src/mds/PurgeQueue.cc b/src/mds/PurgeQueue.cc index 4015834343a..fc297f070fc 100644 --- a/src/mds/PurgeQueue.cc +++ b/src/mds/PurgeQueue.cc @@ -590,8 +590,14 @@ void PurgeQueue::_execute_item( gather.set_finisher(new C_OnFinisher( new LambdaContext([this, expire_to](int r){ std::lock_guard l(lock); - _execute_item_complete(expire_to); + if (r == -EBLACKLISTED) { + finisher.queue(on_error, r); + on_error = nullptr; + return; + } + + _execute_item_complete(expire_to); _consume(); // Have we gone idle? If so, do an extra write_head now instead of