From f43d2147896c22a25ebe3c05296a1debbbeaea4f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 11 Jun 2019 16:39:51 -0500 Subject: [PATCH] osd/osd_types: SnapSet::get_ssc_as_of: use clone_snaps Fabricate a SnapContext from the clone_snaps instead of snaps (which we are trying to kill). Signed-off-by: Sage Weil --- src/osd/osd_types.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index ed486f43b12..d22cab3f824 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -5057,11 +5057,14 @@ struct SnapSet { SnapContext get_ssc_as_of(snapid_t as_of) const { SnapContext out; out.seq = as_of; - for (std::vector::const_iterator i = snaps.begin(); - i != snaps.end(); - ++i) { - if (*i <= as_of) - out.snaps.push_back(*i); + for (auto p = clone_snaps.rbegin(); + p != clone_snaps.rend(); + ++p) { + for (auto snap : p->second) { + if (snap <= as_of) { + out.snaps.push_back(snap); + } + } } return out; } -- 2.39.5