//flag mean ObjectOperationFlags
void set_op_flags2(int flags);
- void cmpext(uint64_t off, bufferlist& cmp_bl, int *prval);
+ void cmpext(uint64_t off, const bufferlist& cmp_bl, int *prval);
void cmpxattr(const char *name, uint8_t op, const bufferlist& val);
void cmpxattr(const char *name, uint8_t op, uint64_t v);
void exec(const char *cls, const char *method, bufferlist& inbl);
}
void librados::ObjectOperation::cmpext(uint64_t off,
- bufferlist &cmp_bl,
+ const bufferlist &cmp_bl,
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)
return o->ops.size();
}
-void ObjectOperation::cmpext(uint64_t off, bufferlist& cmp_bl, int *prval) {
+void ObjectOperation::cmpext(uint64_t off, const bufferlist& cmp_bl,
+ int *prval) {
TestObjectOperationImpl *o = reinterpret_cast<TestObjectOperationImpl*>(impl);
ObjectOperationTestImpl op = boost::bind(&TestIoCtxImpl::cmpext, _1, _2, off, cmp_bl);
if (prval != NULL) {