From f565ace62a1235dbe6a4ee9db5c5233cea395446 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 24 Jul 2012 11:02:37 -0700 Subject: [PATCH] osd: fix pg log zeroing Zero the right number of bytes. Fixes a bug where we clobber legit log data. Fortunately this is only triggered with osd preserve pg log = false, which was not the default until recently in master. Fixes: #2799 Signed-off-by: Sage Weil Reviewed-by: Mike Ryan --- src/osd/PG.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 1287ca1f5da93..934da8cfb4dcc 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -2092,7 +2092,7 @@ void PG::trim_ondisklog(ObjectStore::Transaction& t) if (!g_conf->osd_preserve_trimmed_log) { uint64_t zt = new_tail & ~4095; if (zt > ondisklog.zero_to) { - t.zero(coll_t::META_COLL, log_oid, ondisklog.zero_to, zt); + t.zero(coll_t::META_COLL, log_oid, ondisklog.zero_to, zt - ondisklog.zero_to); dout(15) << "trim_ondisklog zeroing from " << ondisklog.zero_to << " to " << zt << dendl; ondisklog.zero_to = zt; -- 2.39.5