<< " " << name << " (" << val.length() << " bytes)"
<< dendl;
int r = 0;
-
- if (!val.is_contiguous() || val.front().is_partial()) {
- val.rebuild();
+ auto& b = o->onode.attrs[name.c_str()];
+ if (val.length() == 0) {
+ b = bufferptr("", 0);
+ } else {
+ if (!val.is_contiguous() || val.front().is_partial()) {
+ val.rebuild();
+ }
+ b = val.front();
}
- auto& b = o->onode.attrs[name.c_str()] = val.front();
b.reassign_to_mempool(mempool::mempool_bluestore_cache_meta);
txc->write_onode(o);