This is a portion of the namespace project.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
}
void Entry::encode(bufferlist &bl) const {
+ using ceph::encode;
bufferlist data_bl;
- ::encode(preamble, data_bl);
- ::encode(static_cast<uint8_t>(1), data_bl);
- ::encode(m_entry_tid, data_bl);
- ::encode(m_tag_tid, data_bl);
- ::encode(m_data, data_bl);
+ encode(preamble, data_bl);
+ encode(static_cast<uint8_t>(1), data_bl);
+ encode(m_entry_tid, data_bl);
+ encode(m_tag_tid, data_bl);
+ encode(m_data, data_bl);
uint32_t crc = data_bl.crc32c(0);
uint32_t bl_offset = bl.length();
bl.claim_append(data_bl);
- ::encode(crc, bl);
+ encode(crc, bl);
assert(get_fixed_size() + m_data.length() + bl_offset == bl.length());
}
void Entry::decode(bufferlist::iterator &iter) {
+ using ceph::decode;
uint32_t start_offset = iter.get_off();
uint64_t bl_preamble;
- ::decode(bl_preamble, iter);
+ decode(bl_preamble, iter);
if (bl_preamble != preamble) {
throw buffer::malformed_input("incorrect preamble: " +
stringify(bl_preamble));
}
uint8_t version;
- ::decode(version, iter);
+ decode(version, iter);
if (version != 1) {
throw buffer::malformed_input("unknown version: " + stringify(version));
}
- ::decode(m_entry_tid, iter);
- ::decode(m_tag_tid, iter);
- ::decode(m_data, iter);
+ decode(m_entry_tid, iter);
+ decode(m_tag_tid, iter);
+ decode(m_data, iter);
uint32_t end_offset = iter.get_off();
uint32_t crc;
- ::decode(crc, iter);
+ decode(crc, iter);
bufferlist data_bl;
data_bl.substr_of(iter.get_bl(), start_offset, end_offset - start_offset);
}
bool Entry::is_readable(bufferlist::iterator iter, uint32_t *bytes_needed) {
+ using ceph::decode;
uint32_t start_off = iter.get_off();
if (iter.get_remaining() < HEADER_FIXED_SIZE) {
*bytes_needed = HEADER_FIXED_SIZE - iter.get_remaining();
return false;
}
uint64_t bl_preamble;
- ::decode(bl_preamble, iter);
+ decode(bl_preamble, iter);
if (bl_preamble != preamble) {
*bytes_needed = 0;
return false;
return false;
}
uint32_t data_size;
- ::decode(data_size, iter);
+ decode(data_size, iter);
if (iter.get_remaining() < data_size) {
*bytes_needed = data_size - iter.get_remaining();
*bytes_needed = 0;
uint32_t crc;
- ::decode(crc, iter);
+ decode(crc, iter);
if (crc != crc_bl.crc32c(0)) {
return false;
}
};
std::ostream &operator<<(std::ostream &os, const Entry &entry);
+WRITE_CLASS_ENCODER(journal::Entry)
} // namespace journal
-using journal::operator<<;
-
-WRITE_CLASS_ENCODER(journal::Entry)
#endif // CEPH_JOURNAL_ENTRY_H
m_lock.Unlock();
bufferlist entry_bl;
- ::encode(Entry(future->get_tag_tid(), future->get_entry_tid(), payload_bl),
- entry_bl);
+ encode(Entry(future->get_tag_tid(), future->get_entry_tid(), payload_bl),
+ entry_bl);
assert(entry_bl.length() <= m_journal_metadata->get_object_size());
bool object_full = object_ptr->append_unlock({{future, entry_bl}});
}
Entry entry;
- ::decode(entry, iter);
+ decode(entry, iter);
ldout(m_cct, 20) << ": " << entry << " decoded" << dendl;
uint32_t entry_len = iter.get_off() - bl_off;
journal::Entry entry(234, 123, data);
bufferlist full_bl;
- ::encode(entry, full_bl);
+ encode(entry, full_bl);
uint32_t bytes_needed;
for (size_t i = 0; i < full_bl.length() - 1; ++i) {
uint64_t stray_bytes = 0x1122334455667788;
bufferlist full_bl;
::encode(stray_bytes, full_bl);
- ::encode(entry, full_bl);
+ encode(entry, full_bl);
uint32_t bytes_needed;
bufferlist::iterator it = full_bl.begin();
journal::Entry entry(234, 123, data);
bufferlist full_bl;
- ::encode(entry, full_bl);
+ encode(entry, full_bl);
bufferlist bad_bl;
bad_bl.substr_of(full_bl, 0, full_bl.length() - 4);
int write_entry(const std::string &oid, uint64_t object_num,
uint64_t tag_tid, uint64_t entry_tid) {
bufferlist bl;
- ::encode(create_entry(tag_tid, entry_tid), bl);
+ encode(create_entry(tag_tid, entry_tid), bl);
return append(oid + "." + stringify(object_num), bl);
}
journal::Entry entry2(234, 124, this->create_payload(std::string(24, '1')));
bufferlist bl;
- ::encode(entry1, bl);
- ::encode(entry2, bl);
+ encode(entry1, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
journal::ObjectPlayerPtr object = this->create_object(oid, 14);
journal::Entry entry2(234, 124, this->create_payload(""));
bufferlist bl;
- ::encode(entry1, bl);
- ::encode(entry2, bl);
+ encode(entry1, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
journal::ObjectPlayerPtr object = this->create_object(oid, 12);
journal::Entry entry2(234, 123, this->create_payload(std::string(24, '2')));
bufferlist bl;
- ::encode(entry1, bl);
- ::encode(entry2, bl);
+ encode(entry1, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
journal::ObjectPlayerPtr object = this->create_object(oid, 14);
journal::Entry entry2(234, 124, this->create_payload(std::string(24, '2')));
bufferlist bl;
- ::encode(entry1, bl);
+ encode(entry1, bl);
::encode(this->create_payload("corruption"), bl);
- ::encode(entry2, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
journal::ObjectPlayerPtr object = this->create_object(oid, 14);
journal::Entry entry2(234, 124, this->create_payload(std::string(24, '2')));
bufferlist bl;
- ::encode(entry1, bl);
+ encode(entry1, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
journal::ObjectPlayerPtr object = this->create_object(oid, 14);
ASSERT_EQ(expected_entries, entries);
bl.clear();
- ::encode(entry2, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
ASSERT_LE(0, this->fetch(object));
journal::Entry entry2(234, 124, this->create_payload(std::string(24, '1')));
bufferlist bl;
- ::encode(entry1, bl);
- ::encode(entry2, bl);
+ encode(entry1, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
journal::ObjectPlayerPtr object = this->create_object(oid, 14);
journal::Entry entry2(234, 124, this->create_payload(std::string(24, '1')));
bufferlist bl;
- ::encode(entry1, bl);
+ encode(entry1, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
ASSERT_LE(0, cond1.wait());
object->watch(&cond2, 0.1);
bl.clear();
- ::encode(entry2, bl);
+ encode(entry2, bl);
ASSERT_EQ(0, this->append(this->get_object_name(oid), bl));
ASSERT_LE(0, cond2.wait());