]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/FileStore: ensure sync() doesn't wait forever
authorSage Weil <sage@redhat.com>
Wed, 19 Aug 2015 11:04:07 +0000 (07:04 -0400)
committerSage Weil <sage@redhat.com>
Wed, 19 Aug 2015 21:03:58 +0000 (17:03 -0400)
Avoid

2015-08-19 01:46:37.586450 7f89a53ca980 10 filestore(b.10) start_sync
2015-08-19 01:46:37.586451 7f89a53ca980 10 filestore(b.10) sync waiting
2015-08-19 01:46:37.586528 7f899e2b1700 20 filestore(b.10) sync_entry woke after 5.398564
2015-08-19 01:46:37.586539 7f899e2b1700 20 filestore(b.10) sync_entry waiting for another 35994.601435 to reach min interval 36000.000000

by setting force_sync flag.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/FileStore.cc

index f9d5554db844759ab51c0387955f43d813301309..de66229ea35b17e12b824073e800b3c357a90fa6 100644 (file)
@@ -3768,6 +3768,7 @@ void FileStore::start_sync(Context *onsafe)
   Mutex::Locker l(lock);
   sync_waiters.push_back(onsafe);
   sync_cond.Signal();
+  force_sync = true;
   dout(10) << "start_sync" << dendl;
 }