summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-19 11:16:57 -0700
committerSage Weil <sage@inktank.com>2013-08-19 11:16:57 -0700
commita396e0271359e925e06ebc07c7c31b9fc51af467 (patch)
tree3a1086a285b4a3f21980fe3c994a8e3f639f7e28
parent0c5f842e498de66efa9a2335a485eff079aea5b7 (diff)
parent4e86be9232602ed595d885fcaeda5e47ad9a2a6a (diff)
downloadceph-a396e0271359e925e06ebc07c7c31b9fc51af467.tar.gz
Merge pull request #512 from ceph/wip-5988
Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r--PendingReleaseNotes7
-rw-r--r--src/include/rados/librados.h2
-rw-r--r--src/librados/IoCtxImpl.cc4
-rw-r--r--src/mon/MonMap.cc3
4 files changed, 11 insertions, 5 deletions
diff --git a/PendingReleaseNotes b/PendingReleaseNotes
index 67919e54118..ccbe0596b70 100644
--- a/PendingReleaseNotes
+++ b/PendingReleaseNotes
@@ -11,3 +11,10 @@ v0.68
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
diff --git a/src/include/rados/librados.h b/src/include/rados/librados.h
index 4a5be3d1777..6f5e454c8e8 100644
--- a/src/include/rados/librados.h
+++ b/src/include/rados/librados.h
@@ -24,7 +24,7 @@ extern "C" {
#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)
diff --git a/src/librados/IoCtxImpl.cc b/src/librados/IoCtxImpl.cc
index ce9743a54b3..c7900585458 100644
--- a/src/librados/IoCtxImpl.cc
+++ b/src/librados/IoCtxImpl.cc
@@ -504,14 +504,14 @@ int librados::IoCtxImpl::operate(const object_t& oid, ::ObjectOperation *o,
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();
diff --git a/src/mon/MonMap.cc b/src/mon/MonMap.cc
index d3978afb602..7012e0545cf 100644
--- a/src/mon/MonMap.cc
+++ b/src/mon/MonMap.cc
@@ -329,8 +329,7 @@ int MonMap::build_initial(CephContext *cct, ostream& errout)
}
if (size() == 0) {
- errout << "unable to find any monitors in conf. "
- << "please specify monitors via -m monaddr or -c ceph.conf" << std::endl;
+ errout << "no monitors specified to connect to." << std::endl;
return -ENOENT;
}
return 0;