Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
[sahlberg/ctdb.git] / libctdb / ctdb.c
index b555360e63635176aeebd8c78d77df57ede61186..099ceac0877523720885625940e8c05c9c10d4db 100644 (file)
@@ -806,6 +806,13 @@ static bool try_readrecordlock(struct ctdb_lock *lock, TDB_DATA *data)
                return true;
        }
 
+       /* we dont have the record locally,
+        * drop to writelock to force a migration
+        */
+       if (!hdr && lock->readonly) {
+               lock->readonly = false;
+       }
+
        tdb_chainunlock(lock->ctdb_db->tdb, lock->key);
        free(hdr);
        return NULL;