From: Volker Lendecke Date: Thu, 15 Dec 2011 13:35:07 +0000 (+0100) Subject: s3: Slightly simplify delay_for_exclusive_oplocks X-Git-Url: http://git.samba.org/?p=mat%2Fsamba.git;a=commitdiff_plain;h=432ea5f5c627b374948d0881d5da2aa9ba700763 s3: Slightly simplify delay_for_exclusive_oplocks --- diff --git a/source3/smbd/open.c b/source3/smbd/open.c index fefed85d0c..82a71c7030 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1172,20 +1172,26 @@ static bool delay_for_exclusive_oplocks(files_struct *fsp, int oplock_request, struct share_mode_entry *ex_entry) { + bool delay_it; + if ((oplock_request & INTERNAL_OPEN_ONLY) || is_stat_open(fsp->access_mask)) { return false; } + if (ex_entry == NULL) { + return false; + } - if (ex_entry != NULL) { - /* Found an exclusive or batch oplock */ - bool delay_it = is_delete_request(fsp) ? - BATCH_OPLOCK_TYPE(ex_entry->op_type) : true; - if (delay_it) { - send_break_message(fsp, ex_entry, mid, oplock_request); - return true; - } + /* Found an exclusive or batch oplock */ + + delay_it = is_delete_request(fsp) ? + BATCH_OPLOCK_TYPE(ex_entry->op_type) : true; + + if (!delay_it) { + return false; } - return false; + + send_break_message(fsp, ex_entry, mid, oplock_request); + return true; } static void grant_fsp_oplock_type(files_struct *fsp,