]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: check for full if delta_stats.num_bytes > 0
authorSamuel Just <sam.just@inktank.com>
Fri, 29 Mar 2013 21:27:29 +0000 (14:27 -0700)
committerSage Weil <sage@inktank.com>
Fri, 29 Mar 2013 23:47:29 +0000 (16:47 -0700)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index a281c4bde311a31fb82b275ed35d42c15c364bd1..8a092739b13a3ffc8efea6880af2a9b7faf32c65 100644 (file)
@@ -948,6 +948,16 @@ void ReplicatedPG::do_op(OpRequestRef op)
     return;
   }
 
+  // check for full
+  if (ctx->delta_stats.num_bytes > 0 &&
+      pool.info.get_flags() & pg_pool_t::FLAG_FULL) {
+    delete ctx;
+    put_object_context(obc);
+    put_object_contexts(src_obc);
+    osd->reply_op_error(op, -ENOSPC);
+    return;
+  }
+
   // prepare the reply
   ctx->reply = new MOSDOpReply(m, 0, get_osdmap()->get_epoch(), 0);