]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: handle degraded object in _rollback_to()
authorNeha Ojha <nojha@redhat.com>
Wed, 7 Feb 2018 01:42:54 +0000 (17:42 -0800)
committerNeha Ojha <nojha@redhat.com>
Thu, 15 Mar 2018 18:13:34 +0000 (11:13 -0700)
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/PrimaryLogPG.cc

index ebe8f27e3fa2746a4231083af20623714c1b92d4..abc713f0698ea5bbcb47bc8e9d569ed13555d399 100644 (file)
@@ -7536,6 +7536,11 @@ int PrimaryLogPG::_rollback_to(OpContext *ctx, ceph_osd_op& op)
     block_write_on_degraded_snap(missing_oid, ctx->op);
     return ret;
   }
+  if(is_degraded_or_backfilling_object(soid)) {
+    dout(10) << __func__ << " " << soid << " is a degraded or backfilling object" << dendl;
+    block_write_on_degraded_snap(soid, ctx->op);
+    return -EAGAIN;
+  }
   {
     ObjectContextRef promote_obc;
     cache_result_t tier_mode_result;