From: Yehuda Sadeh Date: Thu, 11 Feb 2010 01:17:45 +0000 (-0800) Subject: osd: don't update object size if didn't write anything X-Git-Tag: v0.19~59 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ef54e0ccd02e624814e8aed806c335a5bbca5cdb;p=ceph.git osd: don't update object size if didn't write anything --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 28b33e7dec9d..1f41195b0483 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1066,7 +1066,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& 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);