]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: fix blocking in standby replay thread
authorSage Weil <sage@newdream.net>
Thu, 1 Dec 2011 17:17:38 +0000 (09:17 -0800)
committerSage Weil <sage@newdream.net>
Thu, 1 Dec 2011 17:17:56 +0000 (09:17 -0800)
commit348c71c414d3551963dcb4eea6b6f099f583ef5f
tree38517fd78925592fe8146b8ba8671a2409581d9d
parentf6ee3699c9623b33397762c3fe031de9a9a5075b
mds: fix blocking in standby replay thread

We need to hold mylock before waiting on the cond or else we get

./common/Cond.h: In function 'int Cond::Wait(Mutex&)', in thread '7f37fe0c8700'
./common/Cond.h: 46: FAILED assert(mutex.is_locked())
 ceph version 0.38-2-g73f99a1 (commit:73f99a189f491866da2be88adcfe0bd512282755)
 1: (MDLog::_replay_thread()+0x2483) [0x6c4393]
 2: (MDLog::ReplayThread::entry()+0xd) [0x4decbd]
 3: (()+0x6d8c) [0x7f3803e8fd8c]
 4: (clone()+0x6d) [0x7f38028d504d]
 ceph version 0.38-2-g73f99a1 (commit:73f99a189f491866da2be88adcfe0bd512282755)
 1: (MDLog::_replay_thread()+0x2483) [0x6c4393]
 2: (MDLog::ReplayThread::entry()+0xd) [0x4decbd]
 3: (()+0x6d8c) [0x7f3803e8fd8c]
 4: (clone()+0x6d) [0x7f38028d504d]
*** Caught signal (Aborted) **
 in thread 7f37fe0c8700

Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/MDLog.cc