From: Sage Weil Date: Sat, 16 Aug 2014 19:42:33 +0000 (-0700) Subject: os/FileStore: fix mount/remount force_sync race X-Git-Tag: v0.86~233^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dd11042f969b94f7a461d02e1475794031c79f61;p=ceph.git os/FileStore: fix mount/remount force_sync race Consider: - mount - sync_entry is doing some work - umount - set force_sync = true - set done = true - sync_entry exits (due to done) - ..but does not set force_sync = false - mount - journal replay starts - sync_entry sees force_sync and does a commit while op_seq == 0 ...crash... Fixes: #9144 Backport: firefly, dumpling Signed-off-by: Sage Weil --- diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc index 4481c93f56b6..06eca20284f4 100644 --- a/src/os/FileStore.cc +++ b/src/os/FileStore.cc @@ -1615,6 +1615,8 @@ int FileStore::umount() basedir_fd = -1; } + force_sync = false; + delete backend; backend = NULL;