From: Greg Farnum Date: Thu, 26 Jan 2017 01:15:56 +0000 (-0800) Subject: OSD: update OSD backfill discussion comments X-Git-Tag: v12.0.1~445^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F13344%2Fhead;p=ceph.git OSD: update OSD backfill discussion comments Signed-off-by: Greg Farnum --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 496947000bc1..9d6ed5109863 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -10912,8 +10912,8 @@ bool PrimaryLogPG::all_peer_done() const * our copy and theirs). * * All objects on a backfill_target in - * [MIN,peer_backfill_info[backfill_target].begin) are either - * not present or backfilled (all removed objects have been removed). + * [MIN,peer_backfill_info[backfill_target].begin) are valid; logically-removed + * objects have been actually deleted and all logically-valid objects are replicated. * There may be PG objects in this interval yet to be backfilled. * * All objects in PG in [MIN,backfill_info.begin) have been backfilled to all @@ -10926,7 +10926,7 @@ bool PrimaryLogPG::all_peer_done() const * For a backfill target, all objects <= peer_info[target].last_backfill * have been backfilled to target * - * There *MAY* be objects between last_backfill_started and + * There *MAY* be missing/outdated objects between last_backfill_started and * MIN(peer_backfill_info[*].begin, backfill_info.begin) in the event that client * io created objects since the last scan. For this reason, we call * update_range() again before continuing backfill. @@ -11115,10 +11115,10 @@ uint64_t PrimaryLogPG::recover_backfill( * by just not updating last_backfill_started here if head doesn't * exist and snapdir does. We aren't using up a recovery count here, * so we're going to recover snapdir immediately anyway. We'll only - * fail if we fail to get the rw lock (which I believe is why this - * failure mode is so rare). + * fail "backward" if we fail to get the rw lock and that just means + * we'll re-process this section of the hash space again. * - * I'm choosing a hack here because the really "correct" answer is + * I'm choosing this hack here because the really "correct" answer is * going to be to unify snapdir and head into a single object (a * snapdir is really just a confusing way to talk about head existing * as a whiteout), but doing that is going to be a somewhat larger