]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Make the _scrub routine produce good output and detect errors properly
authorDavid Zafman <dzafman@redhat.com>
Wed, 26 Aug 2015 20:58:09 +0000 (13:58 -0700)
committerDavid Zafman <dzafman@redhat.com>
Thu, 25 Feb 2016 20:50:25 +0000 (12:50 -0800)
commit18af852a2c71b733ec5c6bd397b2e712b676c693
tree3cfc3d7898221231c13ed573f608fb4b6332b515
parent3a1b58838dba6bd482aa5786dc44962c4a977c17
osd: Make the _scrub routine produce good output and detect errors properly

Catch decode errors so osd doesn't crash on corrupt OI_ATTR or SS_ATTR
Use boost::optional<> to make current state clearer
Create next_clone as needed using head/curclone
Add equivalent logic after getting to end of scrubmap.objects

Fixes: #12738
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit a23036c6fd7de5d1dbc2bd30c967c0be51d94ca5)

Conflicts:
src/osd/ReplicatedPG.cc (no num_objects_pinned in hammer)
src/osd/ReplicatedPG.h (no get_temp_recovery_object() in hammer)
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h