int r;
coll_t cid;
ghobject_t hoid(hobject_t(sobject_t("attr object 1", CEPH_NOSNAP)));
- bufferlist val, val2;
+ bufferlist val, val2, val_exactly_10;
val.append("value");
val.append("value2");
+ bufferptr bp = bufferptr("0123456789abcdef", 0x10);
+ ASSERT_EQ(bp.length(), 0x10);
+ val_exactly_10.append(bp);
+ ASSERT_EQ(val_exactly_10.get_num_buffers(), 1);
{
auto ch = store->open_collection(cid);
ASSERT_FALSE(ch);
t.touch(cid, hoid);
t.setattr(cid, hoid, "foo", val);
t.setattr(cid, hoid, "bar", val2);
+ t.setattr(cid, hoid, "tiramisu", val_exactly_10);
r = queue_transaction(store, ch, std::move(t));
ASSERT_EQ(r, 0);
}
bl.append(bp);
ASSERT_TRUE(bl_eq(val, bl));
+ r = store->getattr(ch, hoid, "tiramisu", bp);
+ ASSERT_EQ(0, r);
+ bufferlist bl1;
+ bl1.append(bp);
+ ASSERT_TRUE(bl_eq(val_exactly_10, bl1));
+
map<string,bufferptr,less<>> bm;
r = store->getattrs(ch, hoid, bm);
ASSERT_EQ(0, r);