<< "prior_sync_point_flushed=" << prior_sync_point_flushed << ", "
<< "next_sync_point_entry=" << next_sync_point_entry;
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const SyncPointLogEntry &entry) {
os << "], "
<< "referring_map_entries=" << referring_map_entries;
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const GenericWriteLogEntry &entry) {
ceph_assert(0 != bl_refs);
}
return pmem_bl;
-};
+}
/* Constructs a new bl containing copies of pmem_bp */
void WriteLogEntry::copy_pmem_bl(bufferlist *out_bl) {
os << "pmem_bl=" << pmem_bl << ", ";
os << "bl_refs=" << bl_refs;
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const WriteLogEntry &entry) {
os << "(Discard) ";
GenericWriteLogEntry::format(os);
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const DiscardLogEntry &entry) {
if (trailing_partial) {
bl.append(bp, 0, trailing_partial);
}
-};
+}
void WriteSameLogEntry::writeback(librbd::cache::ImageWritebackInterface &image_writeback,
Context *ctx) {
os << "(WriteSame) ";
WriteLogEntry::format(os);
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const WriteSameLogEntry &entry) {
os << "block_extent=" << e.block_extent << ", "
<< "log_entry=[" << e.log_entry << "]";
return os;
-};
+}
template <typename T>
LogMapEntry<T>::LogMapEntry(const BlockExtent block_extent,
<< "log_append_time=[" << log_append_time << "], "
<< "log_append_comp_time=[" << log_append_comp_time << "], ";
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const GenericLogOperation &op) {
os << ", "
<< "sync_point=[" << *sync_point << "]";
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const SyncPointLogOperation &op) {
std::ostream &GenericWriteLogOperation::format(std::ostream &os) const {
GenericLogOperation::format(os);
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const GenericWriteLogOperation &op) {
os << "bl=[" << bl << "],"
<< "buffer_alloc=" << buffer_alloc;
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const WriteLogOperation &op) {
<< "extent_ops_appending=[" << s.extent_ops_appending << ", "
<< "extent_ops_persist=[" << s.extent_ops_persist << "]";
return os;
-};
+}
DiscardLogOperation::DiscardLogOperation(std::shared_ptr<SyncPoint> sync_point,
const uint64_t image_offset_bytes,
os << "log_entry=nullptr, ";
}
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const DiscardLogOperation &op) {
os << "(Write Same) ";
WriteLogOperation::format(os);
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const WriteSameLogOperation &op) {
os << "op_set=" << *req.op_set;
}
return os;
-};
+}
template <typename T>
void C_WriteRequest<T>::blockguard_acquired(GuardedRequestFunctionContext &guard_ctx) {
os << (C_BlockIORequest<T>&)req
<< " m_resources.allocated=" << req.m_resources.allocated;
return os;
-};
+}
void C_ReadRequest::finish(int r) {
ldout(m_cct, 20) << "(" << get_name() << "): r=" << r << dendl;
os << " op=nullptr";
}
return os;
-};
+}
template <typename T>
C_WriteSameRequest<T>::C_WriteSameRequest(T &rwl, const utime_t arrived, io::Extents &&image_extents,
const C_WriteSameRequest<T> &req) {
os << (C_WriteRequest<T>&)req;
return os;
-};
+}
template <typename T>
C_CompAndWriteRequest<T>::C_CompAndWriteRequest(T &rwl, const utime_t arrived, io::Extents &&image_extents,
<< "compare_succeeded=" << req.compare_succeeded << ", "
<< "mismatch_offset=" << req.mismatch_offset;
return os;
-};
+}
std::ostream &operator<<(std::ostream &os,
const BlockGuardReqState &r) {
<< "detained=" << r.detained << ", "
<< "queued=" << r.queued;
return os;
-};
+}
GuardedRequestFunctionContext::GuardedRequestFunctionContext(boost::function<void(GuardedRequestFunctionContext&)> &&callback)
: m_callback(std::move(callback)){ }
<< "block_extent.block_start=" << r.block_extent.block_start << ", "
<< "block_extent.block_start=" << r.block_extent.block_end;
return os;
-};
+}
} // namespace rwl
} // namespace cache
<< "ws_datalen=" << entry.ws_datalen << ", "
<< "entry_index=" << entry.entry_index;
return os;
-};
+}
template <typename ExtentsType>
ExtentsSummary<ExtentsType>::ExtentsSummary(const ExtentsType &extents)
<< "first_image_byte=" << s.first_image_byte << ", "
<< "last_image_byte=" << s.last_image_byte << "";
return os;
-};
+}
io::Extent whole_volume_extent() {
return io::Extent({0, std::numeric_limits<uint64_t>::max()});