snap_t ImageCtx::get_snap_id(cls::rbd::SnapshotNamespace in_snap_namespace,
string in_snap_name) const
- {
- assert(snap_lock.is_locked());
- auto it = snap_ids.find({in_snap_namespace, in_snap_name});
- if (it != snap_ids.end())
- return it->second;
- return CEPH_NOSNAP;
- }
-
- snap_t ImageCtx::get_snap_id_from_namespace(cls::rbd::SnapshotNamespace in_snap_namespace) const
{
assert(snap_lock.is_locked());
map<pair<cls::rbd::SnapshotNamespace, std::string>, snap_t>::const_iterator it =
- snap_ids.lower_bound({in_snap_namespace, ""});
+ snap_ids.lower_bound({in_snap_namespace, in_snap_name});
if (it != snap_ids.end()) {
return it->second;
}
void snap_unset();
librados::snap_t get_snap_id(cls::rbd::SnapshotNamespace in_snap_namespace,
std::string in_snap_name) const;
- librados::snap_t get_snap_id_from_namespace(
- cls::rbd::SnapshotNamespace in_snap_namespace) const;
const SnapInfo* get_snap_info(librados::snap_t in_snap_id) const;
int get_snap_name(librados::snap_t in_snap_id,
std::string *out_snap_name) const;
std::string snap_name;
ictx->snap_lock.get_read();
- snap_t snap_id = ictx->get_snap_id_from_namespace(ne);
+ snap_t snap_id = ictx->get_snap_id(ne, "");
r = ictx->get_snap_name(snap_id, &snap_name);
ictx->snap_lock.put_read();
if (r >= 0) {
} else {
ImageCtx *ictx = ictxs[i];
ictx->snap_lock.get_read();
- snap_t snap_id = ictx->get_snap_id_from_namespace(ne);
+ snap_t snap_id = ictx->get_snap_id(ne, "");
ictx->snap_lock.put_read();
if (snap_id == CEPH_NOSNAP) {
ldout(cct, 20) <<
on_finishes[i] = new C_SaferCond;
std::string snap_name;
ictx->snap_lock.get_read();
- snap_t snap_id = ictx->get_snap_id_from_namespace(ne);
+ snap_t snap_id = ictx->get_snap_id(ne, "");
r = ictx->get_snap_name(snap_id, &snap_name);
ictx->snap_lock.put_read();
if (r >= 0) {