mirror of
https://github.com/ceph/ceph
synced 2025-01-11 05:29:51 +00:00
76234d0023
Calls `send_appends_aio` only if m_pending_buffers is not empty. It was supposed it was ok to call it even for empty buffers, because `send_appends_aio` just returned in this case. But the problem is caused by m_aio_scheduled flag, which is set before releasing the lock and cleared in `send_appends_aio`, after reacquiring the lock. If during this time window `close` is called it will return false due to m_aio_scheduled flag set, and the caller will expect "closed" notification, which is never fired in this case. Fixes: https://tracker.ceph.com/issues/38315 Signed-off-by: Mykola Golub <mgolub@suse.com> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Entry.cc | ||
Entry.h | ||
Future.cc | ||
Future.h | ||
FutureImpl.cc | ||
FutureImpl.h | ||
Journaler.cc | ||
Journaler.h | ||
JournalMetadata.cc | ||
JournalMetadata.h | ||
JournalMetadataListener.h | ||
JournalPlayer.cc | ||
JournalPlayer.h | ||
JournalRecorder.cc | ||
JournalRecorder.h | ||
JournalTrimmer.cc | ||
JournalTrimmer.h | ||
ObjectPlayer.cc | ||
ObjectPlayer.h | ||
ObjectRecorder.cc | ||
ObjectRecorder.h | ||
ReplayEntry.h | ||
ReplayHandler.h | ||
Settings.h | ||
Utils.cc | ||
Utils.h |