Slightly simplify logic in cancel_pending_lock_requests_by_fid()
authorVolker Lendecke <vl@samba.org>
Tue, 4 Nov 2008 13:29:33 +0000 (14:29 +0100)
committerVolker Lendecke <vl@samba.org>
Tue, 4 Nov 2008 19:52:07 +0000 (20:52 +0100)
Use a "continue" for (blr->fsp->fnum != fsp->fnum)

source3/smbd/blocking.c

index 02091d18eff65b3edae203470f207ec54ef23e0f..f3649159c984e1aa0a674ff13deb240db909fa26 100644 (file)
@@ -575,37 +575,41 @@ void cancel_pending_lock_requests_by_fid(files_struct *fsp, struct byte_range_lo
        blocking_lock_record *blr, *next = NULL;
 
        for(blr = blocking_lock_queue; blr; blr = next) {
+               unsigned char locktype = 0;
+
                next = blr->next;
-               if(blr->fsp->fnum == fsp->fnum) {
-                       unsigned char locktype = 0;
+               if (blr->fsp->fnum != fsp->fnum) {
+                       continue;
+               }
 
-                       if (blr->com_type == SMBlockingX) {
-                               locktype = CVAL(blr->inbuf,smb_vwv3);
-                       }
+               if (blr->com_type == SMBlockingX) {
+                       locktype = CVAL(blr->inbuf,smb_vwv3);
+               }
 
-                       if (br_lck) {
-                               DEBUG(10,("remove_pending_lock_requests_by_fid - removing request type %d for \
-file %s fnum = %d\n", blr->com_type, fsp->fsp_name, fsp->fnum ));
+               if (br_lck) {
+                       DEBUG(10, ("remove_pending_lock_requests_by_fid - "
+                                  "removing request type %d for file %s fnum "
+                                  "= %d\n", blr->com_type, fsp->fsp_name,
+                                  fsp->fnum));
 
-                               brl_lock_cancel(br_lck,
+                       brl_lock_cancel(br_lck,
                                        blr->lock_pid,
                                        procid_self(),
                                        blr->offset,
                                        blr->count,
                                        blr->lock_flav);
 
-                               blocking_lock_cancel(fsp,
-                                       blr->lock_pid,
-                                       blr->offset,
-                                       blr->count,
-                                       blr->lock_flav,
-                                       locktype,
-                                       NT_STATUS_RANGE_NOT_LOCKED);
-                       }
-                       /* We're closing the file fsp here, so ensure
-                        * we don't have a dangling pointer. */
-                       blr->fsp = NULL;
+                       blocking_lock_cancel(fsp,
+                                            blr->lock_pid,
+                                            blr->offset,
+                                            blr->count,
+                                            blr->lock_flav,
+                                            locktype,
+                                            NT_STATUS_RANGE_NOT_LOCKED);
                }
+               /* We're closing the file fsp here, so ensure
+                * we don't have a dangling pointer. */
+               blr->fsp = NULL;
        }
 }