]> git.apps.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>
Wed, 26 Apr 2017 21:03:54 +0000 (14:03 -0700)
commit4a3e4bcf40cd004fc53e7be467a29084dedc3e1c
tree508b33a2c3ad4f29fae5cf59e658d3a491d2e660
parentd4f0ac0a405266f638b25ec475c0110741e3c431
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>
(cherry picked from commit 4cd3c74c928a32e065ed9543d6c91d8718a6ae3d)

Conflicts:
src/os/filestore/DBObjectMap.h (trivial)
src/os/ObjectMap.h
src/os/filestore/DBObjectMap.cc
src/os/filestore/DBObjectMap.h
src/tools/ceph_osdomap_tool.cc