]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Add automatic repair for DBObjectMap bug
authorDavid Zafman <dzafman@redhat.com>
Wed, 15 Feb 2017 23:02:33 +0000 (15:02 -0800)
committerDavid Zafman <dzafman@redhat.com>
Mon, 27 Mar 2017 15:33:34 +0000 (08:33 -0700)
commit4cd3c74c928a32e065ed9543d6c91d8718a6ae3d
treee84b0fcc86725ef34551226976c9b9b4b3c14975
parent666f14ed90655a2d1bedde8561949625db7a9e6c
osd: Add automatic repair for DBObjectMap bug

Add repair command to ceph-osdomap-tool too

Under some situations the previous rm_keys() code would
generated a corrupt complete table.  There is no way to
figure out what the table should look like now.  By removing
the entries we fix the corruption and aren't much worse off
because the corruption caused some deleted keys to re-appear.

This doesn't breaking the parent/child relationship during
repair because some of the keys may still be contained
in the parent.

Signed-off-by: David Zafman <dzafman@redhat.com>
src/os/ObjectMap.h
src/os/filestore/DBObjectMap.cc
src/os/filestore/DBObjectMap.h
src/tools/ceph_osdomap_tool.cc