]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: queue pg removal under pg's epoch
authorSage Weil <sage@newdream.net>
Sat, 11 Feb 2012 17:28:14 +0000 (09:28 -0800)
committerSage Weil <sage@newdream.net>
Sat, 11 Feb 2012 19:48:27 +0000 (11:48 -0800)
commite09c90fd4be3cd5f9becbc32f97f532f07c8ba58
treecb2e1b17535b4ff336ca054b09927dfa90dedc9e
parent4834c4c7462630c38f9dddd56fea6835829f36db
osd: queue pg removal under pg's epoch

The PG may be doing work relative to a different epoch than what the osd
has.  Make sure the PG removal message is queued under that epoch to avoid
confusing/crashing the recipient like so:

2012-02-10 23:26:35.691793 7f387281f700 osd.3 514 queue_pg_for_deletion: 0.0
osd/OSD.cc: In function 'void OSD::handle_pg_remove(OpRequest*)' thread 7f387281f700 time 2012-02-10 23:26:35.691820
osd/OSD.cc: 4860: FAILED assert(pg->get_primary() == m->get_source().num())

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/OSD.h
src/osd/PG.cc