diff options
author | Jason Dillaman <dillaman@redhat.com> | 2018-05-07 19:23:43 +0200 |
---|---|---|
committer | Kefu Chai <kchai@redhat.com> | 2018-05-09 14:23:38 +0200 |
commit | 855faac1698e5dea03ab5e1b6dd67058e29e4a77 (patch) | |
tree | facf7a4659f74fce8ad05d372c1a00d8484d911a | |
parent | osdc: invoke notify finish context on linger commit failure (diff) | |
download | ceph-855faac1698e5dea03ab5e1b6dd67058e29e4a77.tar.xz ceph-855faac1698e5dea03ab5e1b6dd67058e29e4a77.zip |
librados: fix potential race condition if notify immediately fails
Fixes: http://tracker.ceph.com/issues/23966
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit cc06fbab08ef5b7f1b18f2af333c019ad86de03d)
-rw-r--r-- | src/librados/IoCtxImpl.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/librados/IoCtxImpl.cc b/src/librados/IoCtxImpl.cc index 668eb2f7bd1..cc8d7a27ead 100644 --- a/src/librados/IoCtxImpl.cc +++ b/src/librados/IoCtxImpl.cc @@ -1860,6 +1860,7 @@ int librados::IoCtxImpl::notify(const object_t& oid, bufferlist& bl, } else { ldout(client->cct, 10) << __func__ << " failed to initiate notify, r = " << r << dendl; + notify_finish_cond.wait(); } objecter->linger_cancel(linger_op); |