This may still not be right...
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);
case LOCK_EXCL_SYNC:
case LOCK_LOCK_SYNC:
- in->loner_cap = -1;
-
{ // bcast data to replicas
bufferlist softdata;
lock->encode_locked_state(softdata);