From 5baf7abfa36f7fb2a174c5255b0d4afc65df6388 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Thu, 30 Mar 2017 10:30:29 -0700 Subject: [PATCH] osd: Fail-safe full is a hard stop even for mds We can't allow OSD to become non-startable even if mds could be writing as part of file removals. Signed-off-by: David Zafman --- src/osd/PrimaryLogPG.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 2f1599963c9..5fd0463401f 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -1888,7 +1888,10 @@ void PrimaryLogPG::do_op(OpRequestRef& op) << *m << dendl; return; } - if (!(m->get_source().is_mds()) && osd->check_failsafe_full() && write_ordered) { + // mds should have stopped writing before this point. + // We can't allow OSD to become non-startable even if mds + // could be writing as part of file removals. + if (write_ordered && osd->check_failsafe_full()) { dout(10) << __func__ << " fail-safe full check failed, dropping request" << dendl; return; -- 2.39.5