This is counter-intuitive and doesn't match the behavior of either
other compare ops (cmpxattr, omap_cmp) or write ops.
Fixes: http://tracker.ceph.com/issues/38383
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit
4daddf0564dcd548ecc7c214ab9a41fc12ba71c0)
Conflicts:
don't change method signature but copy bufferlist
int *prval)
{
::ObjectOperation *o = &impl->o;
- o->cmpext(off, cmp_bl, prval);
+ bufferlist c = cmp_bl;
+ o->cmpext(off, c, prval);
}
void librados::ObjectOperation::cmpxattr(const char *name, uint8_t op, const bufferlist& v)