From 2b3c5bea1c1512bc250481690b2d968491738629 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 11 Sep 2013 10:17:05 +0000 Subject: smbd: Avoid an if-statement per read/write in the non-clustered case Without clustering, fsp->brlock_rec will never be set anyway. In the clustering case we can't use the seqnum trick, so this is slow enough that the additional if-statement does not matter in this case anyway. In the non-clustered case it might. Have not measured it, but every little bit helps I guess. Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher --- source3/locking/brlock.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source3/locking') diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c index ee4354c964..a0b94cdadf 100644 --- a/source3/locking/brlock.c +++ b/source3/locking/brlock.c @@ -2062,15 +2062,15 @@ struct byte_range_lock *brl_get_locks_readonly(files_struct *fsp) { struct byte_range_lock *br_lock; - if (lp_clustering()) { - return brl_get_locks_internal(talloc_tos(), fsp, true); - } - if ((fsp->brlock_rec != NULL) && (dbwrap_get_seqnum(brlock_db) == fsp->brlock_seqnum)) { return fsp->brlock_rec; } + if (lp_clustering()) { + return brl_get_locks_internal(talloc_tos(), fsp, true); + } + TALLOC_FREE(fsp->brlock_rec); br_lock = brl_get_locks_internal(talloc_tos(), fsp, true); -- cgit