From: David Zafman Date: Thu, 30 Mar 2017 17:30:29 +0000 (-0700) Subject: osd: Fail-safe full is a hard stop even for mds X-Git-Tag: v12.0.2~51^2~17 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5baf7abfa36f7fb2a174c5255b0d4afc65df6388;p=ceph.git 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 --- 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;