]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
journal: possible race condition between flush and append callback 37699/head
authorJason Dillaman <dillaman@redhat.com>
Fri, 16 Oct 2020 15:25:39 +0000 (11:25 -0400)
committerJason Dillaman <dillaman@redhat.com>
Fri, 16 Oct 2020 15:29:54 +0000 (11:29 -0400)
commit458ab997fe77ea78803a34c6c9715225aa3413ba
tree6263b17659dffd8d3195475db7eb39be61814a18
parentf5adeeb621936efd71cf545935882cbe32a7f078
journal: possible race condition between flush and append callback

When notifying the journal recorder of an overflow or if the object
close request has completed due to no more in-flight IO, it was
possible for a race between a flush request and the processing of
an append completion to attempt to kick off duplicate notifications.
Since the overflowed and closed callbacks are properly protected from
duplicates, use a counter instead of a boolean to track possible
in-flight handler callbacks.

Fixes: https://tracker.ceph.com/issues/47880
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/journal/ObjectRecorder.cc
src/journal/ObjectRecorder.h