offender, has been removed. This breaks compatibility with
pre-bobtail librbd clients by preventing them from creating new
images.
+
+* librados now returns on commit instead of ack for synchronous calls.
+ This is a bit safer in the case where both OSDs and the client crash, and
+ is probably how it should have been acting from the beginning. Users are
+ unlikely to notice but it could result in lower performance in some
+ circumstances. Those who care should switch to using the async interfaces,
+ which let you specify safety semantics precisely.
\ No newline at end of file
#endif
#define LIBRADOS_VER_MAJOR 0
-#define LIBRADOS_VER_MINOR 53
+#define LIBRADOS_VER_MINOR 68
#define LIBRADOS_VER_EXTRA 0
#define LIBRADOS_VERSION(maj, min, extra) ((maj << 16) + (min << 8) + extra)
int r;
eversion_t ver;
- Context *onack = new C_SafeCond(&mylock, &cond, &done, &r);
+ Context *oncommit = new C_SafeCond(&mylock, &cond, &done, &r);
int op = o->ops[0].op.op;
ldout(client->cct, 10) << ceph_osd_op_name(op) << " oid=" << oid << " nspace=" << oloc.nspace << dendl;
lock->Lock();
objecter->mutate(oid, oloc,
*o, snapc, ut, 0,
- onack, NULL, &ver);
+ NULL, oncommit, &ver);
lock->Unlock();
mylock.Lock();