diff options
author | Sage Weil <sage@newdream.net> | 2009-04-04 21:12:18 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-04-04 21:12:18 -0700 |
commit | 9892183acf4ae2d4180313159f71dd0a4feca212 (patch) | |
tree | ccd3ee84b24e80b0d1a816d26078bbc9d54bcfaa | |
parent | b70721e4e77957cf9825f9c82944fff55b085f6c (diff) | |
download | ceph-9892183acf4ae2d4180313159f71dd0a4feca212.tar.gz |
mds: make sure kick wasn't immediatley fruitful in rdlock_try
-rw-r--r-- | src/mds/Locker.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 1e0a19c9371..c779f44b5dd 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -595,6 +595,9 @@ bool Locker::rdlock_try(SimpleLock *lock, int client, Context *con) _rdlock_kick(lock); + if (lock->can_rdlock(client)) + return true; + // wait! dout(7) << "rdlock_try waiting on " << *lock << " on " << *lock->get_parent() << dendl; if (con) lock->add_waiter(SimpleLock::WAIT_RD, con); |