From 9a43a1205f1d69e1bc52bce791687d2ab6c01c2d Mon Sep 17 00:00:00 2001 From: Gui Hecheng Date: Tue, 7 Feb 2017 11:16:11 +0800 Subject: [PATCH] librbd: fix segfault on EOPNOTSUPP returned while fetching snapshot timestamp Fixes: http://tracker.ceph.com/issues/18839 Signed-off-by: Gui Hecheng --- src/librbd/image/RefreshRequest.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/librbd/image/RefreshRequest.cc b/src/librbd/image/RefreshRequest.cc index 16a76def4e3bb..dabd094c6e947 100644 --- a/src/librbd/image/RefreshRequest.cc +++ b/src/librbd/image/RefreshRequest.cc @@ -474,6 +474,7 @@ Context *RefreshRequest::handle_v2_get_snap_timestamps(int *result) { send_v2_get_mutable_metadata(); return nullptr; } else if (*result == -EOPNOTSUPP) { + m_snap_timestamps = std::vector(m_snap_names.size(), utime_t()); // Ignore it means no snap timestamps are available } else if (*result < 0) { lderr(cct) << "failed to retrieve snapshots: " << cpp_strerror(*result)