Otherwise we may inadvertantly pin larger buffers in
memory.
Fixes: http://tracker.ceph.com/issues/18093
Signed-off-by: Sage Weil <sage@redhat.com>
<< " " << name << " (" << val.length() << " bytes)"
<< dendl;
int r = 0;
- o->onode.attrs[name] = val;
+ if (val.is_partial())
+ o->onode.attrs[name] = bufferptr(val.c_str(), val.length());
+ else
+ o->onode.attrs[name] = val;
txc->write_onode(o);
dout(10) << __func__ << " " << c->cid << " " << o->oid
<< " " << name << " (" << val.length() << " bytes)"