From: xie xingguo Date: Thu, 24 Mar 2016 08:17:57 +0000 (+0800) Subject: osd/pg: set dirty_info if proc_master_log() dirties info X-Git-Tag: v10.1.1~98^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=15366b70224e35cf30cfbef8a7a8b69b1ef80b33;p=ceph.git osd/pg: set dirty_info if proc_master_log() dirties info There are newly added branches for proc_master_log() method will potentially dirty info but without setting dirty_info flag. Signed-off-by: xie xingguo --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 15dc0af1d913..76cd700c1b3b 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -303,9 +303,12 @@ void PG::proc_master_log( might_have_unfound.insert(from); // See doc/dev/osd_internals/last_epoch_started - if (oinfo.last_epoch_started > info.last_epoch_started) + if (oinfo.last_epoch_started > info.last_epoch_started) { info.last_epoch_started = oinfo.last_epoch_started; - info.history.merge(oinfo.history); + dirty_info = true; + } + if (info.history.merge(oinfo.history)) + dirty_info = true; assert(cct->_conf->osd_find_best_info_ignore_history_les || info.last_epoch_started >= info.history.last_epoch_started);