diff options
author | Amitay Isaacs <amitay@gmail.com> | 2014-11-06 09:33:50 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2014-12-05 14:43:07 +0100 |
commit | dbb1958284657f26a868705e5f9612bc377fd5e0 (patch) | |
tree | 0d6a294f18c78be3c91aed190e321c8afdf9f761 | |
parent | d35f512cd972ac1f732fe998b2179242d042082d (diff) | |
download | samba-dbb1958284657f26a868705e5f9612bc377fd5e0.tar.gz samba-dbb1958284657f26a868705e5f9612bc377fd5e0.tar.xz samba-dbb1958284657f26a868705e5f9612bc377fd5e0.zip |
ctdb-vacuum: Use non-blocking lock when traversing delete tree
This avoids vacuuming getting in the way of ctdb daemon to process
record requests.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
-rw-r--r-- | ctdb/server/ctdb_vacuum.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/ctdb/server/ctdb_vacuum.c b/ctdb/server/ctdb_vacuum.c index 892dc07d15..d678ff98ab 100644 --- a/ctdb/server/ctdb_vacuum.c +++ b/ctdb/server/ctdb_vacuum.c @@ -317,12 +317,8 @@ static int delete_marshall_traverse_first(void *param, void *data) uint32_t hash = ctdb_hash(&(dd->key)); int res; - res = tdb_chainlock(ctdb_db->ltdb->tdb, dd->key); + res = tdb_chainlock_nonblock(ctdb_db->ltdb->tdb, dd->key); if (res != 0) { - DEBUG(DEBUG_ERR, - (__location__ " Error getting chainlock on record with " - "key hash [0x%08x] on database db[%s].\n", - hash, ctdb_db->db_name)); recs->vdata->count.delete_list.skipped++; recs->vdata->count.delete_list.left--; talloc_free(dd); |