#include <errno.h>
#include <include/compat.h>
+#define dout_subsys ceph_subsys_rados
+#undef dout_prefix
+#define dout_prefix *_dout << "TestMemIoCtxImpl: " << this << " " << __func__ \
+ << ": " << oid << " "
+
static void to_vector(const interval_set<uint64_t> &set,
std::vector<std::pair<uint64_t, uint64_t> > *vec) {
vec->clear();
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "length=" << bl.length() << ", snapc=" << snapc << dendl;
+
TestMemCluster::SharedFile file;
{
std::unique_lock l{m_pool->file_lock};
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "snapc=" << snapc << dendl;
+
std::unique_lock l{m_pool->file_lock};
if (exclusive) {
TestMemCluster::SharedFile file = get_file(oid, false, CEPH_NOSNAP, {});
}
int TestMemIoCtxImpl::list_snaps(const std::string& oid, snap_set_t *out_snaps) {
+ auto cct = m_client->cct();
+ ldout(cct, 20) << dendl;
+
if (m_client->is_blocklisted()) {
return -EBLOCKLISTED;
}
out_snaps->clones.push_back(head_clone);
}
}
+
+ ldout(cct, 20) << "seq=" << out_snaps->seq << ", "
+ << "clones=[";
+ bool first_clone = true;
+ for (auto& clone : out_snaps->clones) {
+ *_dout << "{"
+ << "cloneid=" << clone.cloneid << ", "
+ << "snaps=" << clone.snaps << ", "
+ << "overlap=" << clone.overlap << ", "
+ << "size=" << clone.size << "}";
+ if (!first_clone) {
+ *_dout << ", ";
+ } else {
+ first_clone = false;
+ }
+ }
+ *_dout << "]" << dendl;
return 0;
}
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "snapc=" << snapc << dendl;
+
std::unique_lock l{m_pool->file_lock};
TestMemCluster::SharedFile file = get_file(oid, false, CEPH_NOSNAP, snapc);
if (file == NULL) {
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "size=" << size << ", snapc=" << snapc << dendl;
+
TestMemCluster::SharedFile file;
{
std::unique_lock l{m_pool->file_lock};
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "extent=" << off << "~" << len << ", snapc=" << snapc
+ << dendl;
+
TestMemCluster::SharedFile file;
{
std::unique_lock l{m_pool->file_lock};
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "length=" << bl.length() << ", snapc=" << snapc << dendl;
+
TestMemCluster::SharedFile file;
{
std::unique_lock l{m_pool->file_lock};
return -EBLOCKLISTED;
}
+ auto cct = m_client->cct();
+ ldout(cct, 20) << "extent=" << off << "~" << len << ", snapc=" << snapc
+ << dendl;
+
bool truncate_redirect = false;
TestMemCluster::SharedFile file;
{