]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/FileStore: fix mount/remount force_sync race
authorSage Weil <sage@redhat.com>
Sat, 16 Aug 2014 19:42:33 +0000 (12:42 -0700)
committerSage Weil <sage@redhat.com>
Sat, 16 Aug 2014 19:42:33 +0000 (12:42 -0700)
commitdd11042f969b94f7a461d02e1475794031c79f61
tree4f61d411c094c9bd838a813c1d847f4c5016d423
parentee9e1eadab296c02a62f70dd01799449ba936802
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 <sage@redhat.com>
src/os/FileStore.cc