]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: do not segv on kraken upgrade debug print
authorSage Weil <sage@redhat.com>
Fri, 11 Aug 2017 15:58:42 +0000 (11:58 -0400)
committerSage Weil <sage@redhat.com>
Sat, 12 Aug 2017 02:37:18 +0000 (22:37 -0400)
commitb41bc5decc91148501aff731797eec27ebc6f5d4
tree049a61584444232b149fb1d706309a4fe71f0f35
parentcfb3fa076e755ec7e4343600a638c2fa8727deba
os/bluestore: do not segv on kraken upgrade debug print

When loading an onode from kraken we have a compat path that calls
get_ref before the SharedBlob pointer is initialized.  This is fine except
that if debugging is enabled the operator<< on the Blob will segv on
printing *b.shared_blob (which is NULL).

Fix operator<< to print something else if it is NULL.  shared_blob does
get set up right after the call to decode() so having it be NULL at this
point is otherwise harmless.

Fixes: http://tracker.ceph.com/issues/20977
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 50523a225b2f415b8c3d82faeae59c0eede54663)
src/os/bluestore/BlueStore.cc