]> 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>
Tue, 28 Mar 2017 16:33:26 +0000 (09:33 -0700)
commit4810c544b10972e6b276517a2bb4ba2da0b06697
tree89768e657f774c60a3a7f7ea33df735ba2069d38
parent61dad6c15dc7ac94c4bea1fb57823d78ae2db5a1
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