mirror of
https://github.com/samba-team/samba.git
synced 2025-03-11 16:58:40 +03:00
ctdb-locking: Add DB lock requests to head of the pending queue
This allows to schedule DB locks quickly without having to scan through the pending lock requests. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
3aa96c3a3e
commit
7189437be4
@ -858,7 +858,14 @@ static struct lock_request *ctdb_lock_internal(struct ctdb_context *ctdb,
|
||||
lock_ctx->request = request;
|
||||
lock_ctx->child = -1;
|
||||
|
||||
DLIST_ADD_END(ctdb->lock_pending, lock_ctx, NULL);
|
||||
/* Non-record locks are required by recovery and should be scheduled
|
||||
* immediately, so keep them at the head of the pending queue.
|
||||
*/
|
||||
if (lock_ctx->type == LOCK_RECORD) {
|
||||
DLIST_ADD_END(ctdb->lock_pending, lock_ctx, NULL);
|
||||
} else {
|
||||
DLIST_ADD(ctdb->lock_pending, lock_ctx);
|
||||
}
|
||||
CTDB_INCREMENT_STAT(ctdb, locks.num_pending);
|
||||
if (ctdb_db) {
|
||||
CTDB_INCREMENT_DB_STAT(ctdb_db, locks.num_pending);
|
||||
|
Loading…
x
Reference in New Issue
Block a user