]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: don't write transaction when inc crc failed
authorDan van der Ster <daniel.vanderster@cern.ch>
Mon, 27 Jul 2020 15:40:27 +0000 (17:40 +0200)
committerNathan Cutler <ncutler@suse.com>
Wed, 29 Jul 2020 04:31:19 +0000 (06:31 +0200)
commit93b8d1e212c74cd27f21b4f26a331230b1133a3b
treed936cdfcbde074fa49e4cb2c0f7e954574fb003d
parenta8a21538520d86cc3b2869e232512b64f310db18
osd: don't write transaction when inc crc failed

80da5f9a987c6a48b93f25228fdac85890013520 exposed a flaw in how
handle_osd_map falls back to a full osdmap if the crc of an incremental
failed.

If the first message in a map message had a crc error, then the
loop would exit with last < start, which would then cause a null
dereference in _committed_osd_maps.

Fixes: https://tracker.ceph.com/issues/46443
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit 99463cb523949289384a6210ea250114fbe852f4)
src/osd/OSD.cc