]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: don't update object size if didn't write anything
authorYehuda Sadeh <yehuda@hq.newdream.net>
Thu, 11 Feb 2010 01:17:45 +0000 (17:17 -0800)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Thu, 11 Feb 2010 01:19:08 +0000 (17:19 -0800)
src/osd/ReplicatedPG.cc

index 28b33e7dec9d58e4215d3dc6eba83c219111fc7f..1f41195b04838807195ddc67c2a9738a0d5af126 100644 (file)
@@ -1066,7 +1066,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops,
          ssc->snapset.clone_overlap[newest].subtract(ch);
          add_interval_usage(ch, info.stats);
        }
-       if (op.extent.offset + op.extent.length > oi.size) {
+       if (op.extent.length && (op.extent.offset + op.extent.length > oi.size)) {
          __u64 new_size = op.extent.offset + op.extent.length;
          info.stats.num_bytes += new_size - oi.size;
          info.stats.num_kb += SHIFT_ROUND_UP(new_size, 10) - SHIFT_ROUND_UP(oi.size, 10);