On Wed, Jan 2, 2019 at 5:16 PM Brad Hubbard <bhubbard@xxxxxxxxxx> wrote: > > On Thu, Jan 3, 2019 at 9:50 AM Gregory Farnum <gfarnum@xxxxxxxxxx> wrote: > > > > Well, there's an Op::out_bl, Op::outbl, and ObjectOperation::out_bl > > and I'm having some trouble keeping them straight as I skim through > > the code. > > > > But I do see a lot of stuff like > > o->out_bl.swap(op.out_bl); > > m->claim_data(*op->outbl); > > vector<bufferlist*>::iterator pb = op->out_bl.begin(); > > > > I'm still not clear on why having the previous result's data in there > > doesn't work, but a new bit of "random" data does. But given that this > > is just a client messing itself up I think we should just create a > > ticket so we can track it, add a doc string somewhere saying > > explicitly that output buffer lists need to be new/clean, and get on > > with our lives. Unless somebody wants to walk through what's going on > > in librados, which might be a good exercise? > > Challenge accepted. I was playing around with this behavior in 94cb394d62936171196cd434b8306504bd9db796