]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/FileJournal: do not request sync while shutting down 2549/head
authorSage Weil <sage@redhat.com>
Sun, 21 Sep 2014 20:41:01 +0000 (13:41 -0700)
committerSage Weil <sage@redhat.com>
Sun, 21 Sep 2014 20:41:01 +0000 (13:41 -0700)
commit682b9daacb1960eb60b5f0e9b40d4a3a3e9afd5b
tree740fe18e12345468c95e49973e319122e543f1e7
parent0519225beb3f904b6a68490bcca2b10e43cb9e66
os/FileJournal: do not request sync while shutting down

FileStore calls should_commit_now() to determine whether it should
loop and do a second sync (among other things).  During shutdown, this
can force us into a livelock: the journal is shutting down, but the
sync_entry loop never completes and repeatedly syncs because the
journal is full.  Since the journal is otherwise stopped, no expire
happens and we never become unfull, and we're stuck.

This seems to be triggered semi-reliably by the ceph_objectstore_tool
import function.

Fix by not requesting a sync while shutting down.

Fixes: #9545
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/FileJournal.h