[SCM] Samba Shared Repository - branch master updated
Amitay Isaacs
amitay at samba.org
Wed Aug 6 06:45:04 MDT 2014
The branch, master has been updated
via e185ff2 ctdb-locking: Simplify ctdb_find_lock_context()
via 9f596c1 ctdb-locking: TALLOC_FREE copes with NULL
from bb8e6d4 s3:smbd: pass smbXsrv_connection to smbd_[un]lock_socket()
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e185ff22caf430f680f8bad1edf14bc98dd7c64e
Author: Volker Lendecke <vl at samba.org>
Date: Mon Aug 4 13:57:12 2014 +0000
ctdb-locking: Simplify ctdb_find_lock_context()
I like early returns that avoid else branches :-)
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
Autobuild-Date(master): Wed Aug 6 14:44:31 CEST 2014 on sn-devel-104
commit 9f596c17c7d255213df6201d4d489df1580faef4
Author: Volker Lendecke <vl at samba.org>
Date: Mon Aug 4 12:41:06 2014 +0000
ctdb-locking: TALLOC_FREE copes with NULL
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
-----------------------------------------------------------------------
Summary of changes:
ctdb/server/ctdb_lock.c | 71 ++++++++++++++++++++++------------------------
1 files changed, 34 insertions(+), 37 deletions(-)
Changeset truncated at 500 lines:
diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c
index a403e25..72352af 100644
--- a/ctdb/server/ctdb_lock.c
+++ b/ctdb/server/ctdb_lock.c
@@ -432,9 +432,7 @@ static void ctdb_lock_handler(struct tevent_context *ev,
lock_ctx = talloc_get_type_abort(private_data, struct lock_context);
/* cancel the timeout event */
- if (lock_ctx->ttimer) {
- TALLOC_FREE(lock_ctx->ttimer);
- }
+ TALLOC_FREE(lock_ctx->ttimer);
t = timeval_elapsed(&lock_ctx->start_time);
id = lock_bucket_id(t);
@@ -666,51 +664,50 @@ struct lock_context *ctdb_find_lock_context(struct ctdb_context *ctdb)
struct ctdb_db_context *ctdb_db;
/* First check if there are database lock requests */
- lock_ctx = ctdb->lock_pending;
- while (lock_ctx != NULL) {
- next_ctx = lock_ctx->next;
- if (! lock_ctx->request) {
- DEBUG(DEBUG_INFO, ("Removing lock context without lock request\n"));
- DLIST_REMOVE(ctdb->lock_pending, lock_ctx);
- CTDB_DECREMENT_STAT(ctdb, locks.num_pending);
- if (lock_ctx->ctdb_db) {
- CTDB_DECREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_pending);
- }
- talloc_free(lock_ctx);
- } else {
- /* Found a lock context with lock requests */
- break;
+
+ for (lock_ctx = ctdb->lock_pending; lock_ctx != NULL;
+ lock_ctx = next_ctx) {
+
+ if (lock_ctx->request != NULL) {
+ /* Found a lock context with a request */
+ return lock_ctx;
}
- lock_ctx = next_ctx;
- }
- if (lock_ctx) {
- return lock_ctx;
+ next_ctx = lock_ctx->next;
+
+ DEBUG(DEBUG_INFO, ("Removing lock context without lock "
+ "request\n"));
+ DLIST_REMOVE(ctdb->lock_pending, lock_ctx);
+ CTDB_DECREMENT_STAT(ctdb, locks.num_pending);
+ if (lock_ctx->ctdb_db) {
+ CTDB_DECREMENT_DB_STAT(lock_ctx->ctdb_db,
+ locks.num_pending);
+ }
+ talloc_free(lock_ctx);
}
/* Next check database queues */
for (ctdb_db = ctdb->db_list; ctdb_db; ctdb_db = ctdb_db->next) {
- if (ctdb_db->lock_num_current == ctdb->tunable.lock_processes_per_db) {
+ if (ctdb_db->lock_num_current ==
+ ctdb->tunable.lock_processes_per_db) {
continue;
}
- lock_ctx = ctdb_db->lock_pending;
- while (lock_ctx != NULL) {
+
+ for (lock_ctx = ctdb_db->lock_pending; lock_ctx != NULL;
+ lock_ctx = next_ctx) {
+
next_ctx = lock_ctx->next;
- if (! lock_ctx->request) {
- DEBUG(DEBUG_INFO, ("Removing lock context without lock request\n"));
- DLIST_REMOVE(ctdb_db->lock_pending, lock_ctx);
- CTDB_DECREMENT_STAT(ctdb, locks.num_pending);
- CTDB_DECREMENT_DB_STAT(ctdb_db, locks.num_pending);
- talloc_free(lock_ctx);
- } else {
- break;
- }
- lock_ctx = next_ctx;
- }
+ if (lock_ctx->request != NULL) {
+ return lock_ctx;
+ }
- if (lock_ctx) {
- return lock_ctx;
+ DEBUG(DEBUG_INFO, ("Removing lock context without "
+ "lock request\n"));
+ DLIST_REMOVE(ctdb_db->lock_pending, lock_ctx);
+ CTDB_DECREMENT_STAT(ctdb, locks.num_pending);
+ CTDB_DECREMENT_DB_STAT(ctdb_db, locks.num_pending);
+ talloc_free(lock_ctx);
}
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list