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. -- Cheers, Brad