]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: fix divergent backfill targets
authorSage Weil <sage.weil@dreamhost.com>
Tue, 31 Jan 2012 15:25:04 +0000 (07:25 -0800)
committerSage Weil <sage@newdream.net>
Tue, 31 Jan 2012 19:44:08 +0000 (11:44 -0800)
commitf1c3538ff66d623580cb5df21c59680b25010abb
treede8cc3809dbd9460cd2c23cac76072ec120626dc
parent9520ee7820715aa867b600548c3488c30582b86f
osd: fix divergent backfill targets

During peering, a previous backfill target may have a slightly newer
last_update than the other options, but it will not be chosen because it
is incomplete.  That caused a failed assert during activate() (#1983).

To fix, we remove the bad assert, and then fix merge_log() so that the
replica/backfill target will trim its divergent entries when it gets the
activation MLogRec.  We also fix the handling of MInfoRec, as that can
trigger the same analogous condition.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/osd/PG.cc
src/osd/PG.h