}
// we want a snap
+ if (pool.info.is_removed_snap(oid.snap)) {
+ dout(10) << __func__ << " snap " << oid.snap << " is removed" << dendl;
+ return -ENOENT;
+ }
+
SnapSetContext *ssc = get_snapset_context(oid.oid, oid.get_key(), oid.hash,
can_create, oid.get_namespace());
if (!ssc) {
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
ASSERT_EQ((int)sizeof(buf2), rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
- rados_ioctx_snap_set_read(ioctx, my_snaps[1]);
+ rados_ioctx_snap_set_read(ioctx, my_snaps[1]-1);
char buf3[sizeof(buf)];
+ ASSERT_EQ(-ENOENT, rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
+
+ rados_ioctx_snap_set_read(ioctx, my_snaps[1]);
ASSERT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
ASSERT_EQ(0, memcmp(buf3, buf, sizeof(buf)));