diff options
author | Sage Weil <sage@newdream.net> | 2009-01-15 16:33:48 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-01-15 16:33:48 -0800 |
commit | 49fea8a37f20091e96694c29267a3b2e8458ba70 (patch) | |
tree | 6655480e8f83b085196c7ad1a761801fc323bc79 /src | |
parent | d467cbf901d4c7fac0b69845ee19950356ad29b5 (diff) | |
download | ceph-49fea8a37f20091e96694c29267a3b2e8458ba70.tar.gz |
mds: simplify loner_cap update
This may still not be right...
Diffstat (limited to 'src')
-rw-r--r-- | src/mds/Locker.cc | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index b64f82b63b0..98174d44b2c 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -463,21 +463,15 @@ void Locker::eval_gather(SimpleLock *lock) scatter_writebehind((ScatterLock*)lock); return; } - - switch (lock->get_state()) { - // to lock - case LOCK_MIX_LOCK: - case LOCK_SYNC_LOCK: - case LOCK_EXCL_LOCK: + + if (in && lock->get_state() != LOCK_EXCL) in->loner_cap = -1; - break; + switch (lock->get_state()) { // to mixed case LOCK_TSYN_MIX: case LOCK_SYNC_MIX: case LOCK_EXCL_MIX: - in->loner_cap = -1; - if (in->is_replicated()) { bufferlist softdata; lock->encode_locked_state(softdata); @@ -487,8 +481,6 @@ void Locker::eval_gather(SimpleLock *lock) case LOCK_EXCL_SYNC: case LOCK_LOCK_SYNC: - in->loner_cap = -1; - { // bcast data to replicas bufferlist softdata; lock->encode_locked_state(softdata); |