]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Fail-safe full is a hard stop even for mds
authorDavid Zafman <dzafman@redhat.com>
Thu, 30 Mar 2017 17:30:29 +0000 (10:30 -0700)
committerDavid Zafman <dzafman@redhat.com>
Mon, 17 Apr 2017 14:58:30 +0000 (07:58 -0700)
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 <dzafman@redhat.com>
src/osd/PrimaryLogPG.cc

index 2f1599963c92fc7a8e1d5c5442d9dd3a3f4f1888..5fd0463401f73c99e06b6dca3b66b33c6229d507 100644 (file)
@@ -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;