]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: populate last_epoch_split during build_initial_pg_history 16519/head
authorSage Weil <sage@redhat.com>
Mon, 24 Jul 2017 18:21:33 +0000 (14:21 -0400)
committerSage Weil <sage@redhat.com>
Mon, 24 Jul 2017 18:21:33 +0000 (14:21 -0400)
commita627f24345e27a934c965121f4ef75f1b55cb348
tree224f47efe7b92cf2c81398c513647de2a4acc766
parent27c1d62ae96ecc0c34fc0da55a7e529e0f718234
osd: populate last_epoch_split during build_initial_pg_history

If we get a pg create and have to generate the pg_history_t fields,
populate the last_epoch_split field too.  This is needed discard ops sent
from before the last split.  Specifically, PG::can_discard_op() looks at
it when the client has the RESEND_ON_SPLIT feature bit.  If we don't
discard, we may run afoul of assertions later (e.g., that the object
belongs to the PG at all) or potentially process an op out of order.

Fixes: http://tracker.ceph.com/issues/20754
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc