ASSERT_EQ(logger->get(l_bluestore_write_deferred_bytes),
issued_dw_bytes + write_size);
}
+ {
+ ghobject_t hoid(hobject_t("test-a", "", CEPH_NOSNAP, 0, -1, ""));
+ {
+ ObjectStore::Transaction t;
+ t.touch(cid, hoid);
+ r = queue_transaction(store, ch, std::move(t));
+ ASSERT_EQ(r, 0);
+ }
+
+ auto issued_dw = logger->get(l_bluestore_write_deferred);
+ auto issued_dw_bytes = logger->get(l_bluestore_write_deferred_bytes);
+ {
+ ObjectStore::Transaction t;
+ bufferlist bl;
+ bl.append(std::string(write_size * 2, 'x'));
+ t.write(cid, hoid, alloc_size - write_size, bl.length(), bl,
+ CEPH_OSD_OP_FLAG_FADVISE_NOCACHE);
+ r = queue_transaction(store, ch, std::move(t));
+ ASSERT_EQ(r, 0);
+ }
+ ASSERT_EQ(logger->get(l_bluestore_write_deferred), issued_dw + 2);
+ ASSERT_EQ(logger->get(l_bluestore_write_deferred_bytes),
+ issued_dw_bytes + write_size * 2);
+ }
{
ObjectStore::Transaction t;
ghobject_t hoid(hobject_t("test", "", CEPH_NOSNAP, 0, -1, ""));
t.remove(cid, hoid);
+ ghobject_t hoid_a(hobject_t("test-a", "", CEPH_NOSNAP, 0, -1, ""));
+ t.remove(cid, hoid_a);
t.remove_collection(cid);
cerr << "Cleaning" << std::endl;
r = queue_transaction(store, ch, std::move(t));