The branch, master has been updated
       via  9b017ab0465 smbd: Simplify filename_convert_internal()
       via  ce3666fb83a smbd: Remove unused "msg_ctx" from 
smbd_smb1_do_locks_send()
       via  f952967e582 smbd: Remove unused "msg_ctx" from smbd_do_locks_try()
       via  45d2720a878 smbd: Remove unused "msg_ctx" from locking_close_file()
       via  0658626776c smbd: Remove unused "msg_ctx" from do_unlock()
       via  316365805a4 smbd: Remove unused "msg_ctx" from brl_close_fnum()
       via  c2292a85f54 smbd: Remove unused "msg_ctx" from brl_unlock()
       via  39f14da9adc vfs: Remove unused "msg_ctx" from 
SMB_VFS_BRL_UNLOCK_WINDOWS
       via  3a93c638944 smbd: Remove unused "msg_ctx" from brl_unlock_posix()
       via  4d75c0aa53a smbd: Remove unused "msg_ctx" from do_lock()
       via  b809e68c12f smbd: Remove unused "msg_ctx" from brl_lock()
       via  5a89031cf87 smbd: Remove unused "msg_ctx" from brl_lock_posix
       via  a045b9b1f37 smbd: Remove unused "blocking_lock" from 
brl_lock_windows_default()
       via  f83775d8557 vfs: Remove "blocking_lock" from 
SMB_VFS_BRL_LOCK_WINDOWS
       via  37c9c4c3ce3 smbd: brl_lock() never sees blocking locks anymore
       via  5a012a0fdfd smbd: do_lock() never sees blocking locks anymore
       via  b70d855e1ae smbd: Make do_lock() return NTSTATUS
       via  b0d4939d6ca smbd: Avoid casts in do_lock()
       via  e36398d93b6 smbd: Ensure initialized vars in do_lock
      from  ee9527f5c3b librpc/idl: fix build with --enable-spotlight

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 9b017ab0465f912de738ba0679b378e8a49fba5f
Author: Volker Lendecke <[email protected]>
Date:   Mon Jun 24 13:48:10 2019 +0200

    smbd: Simplify filename_convert_internal()
    
    Use a direct struct assignment
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Tue Jul  2 18:17:39 UTC 2019 on sn-devel-184

commit ce3666fb83ade72807fd3510d9d30251325cdcac
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:42:56 2019 +0200

    smbd: Remove unused "msg_ctx" from smbd_smb1_do_locks_send()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit f952967e5822a299d2ea176764fd5596ba53ee5a
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:41:07 2019 +0200

    smbd: Remove unused "msg_ctx" from smbd_do_locks_try()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 45d2720a878a07be1d219164f7245d3d89726829
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:35:19 2019 +0200

    smbd: Remove unused "msg_ctx" from locking_close_file()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 0658626776c19c903d894e32a036e8d8eccad425
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:33:58 2019 +0200

    smbd: Remove unused "msg_ctx" from do_unlock()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 316365805a427bc95465d9f42605885111d41baf
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:31:04 2019 +0200

    smbd: Remove unused "msg_ctx" from brl_close_fnum()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit c2292a85f54ed46fe9dc0b9126be7b64f2656118
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:28:10 2019 +0200

    smbd: Remove unused "msg_ctx" from brl_unlock()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 39f14da9adc1832838ea79b23fbce9876fddb098
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:25:27 2019 +0200

    vfs: Remove unused "msg_ctx" from SMB_VFS_BRL_UNLOCK_WINDOWS
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 3a93c638944a16b3e2104dbee25cb3668d01deea
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:18:58 2019 +0200

    smbd: Remove unused "msg_ctx" from brl_unlock_posix()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 4d75c0aa53ad5f319e8f3eb59edc1b6571a4825e
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:17:27 2019 +0200

    smbd: Remove unused "msg_ctx" from do_lock()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit b809e68c12f35ec1f2d6aac37d2a28706b91be62
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:15:41 2019 +0200

    smbd: Remove unused "msg_ctx" from brl_lock()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 5a89031cf878055659e82f4def743ee38efa9665
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 15:13:59 2019 +0200

    smbd: Remove unused "msg_ctx" from brl_lock_posix
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a045b9b1f37177253a38c348f0d428fe2fdcf607
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:58:35 2019 +0200

    smbd: Remove unused "blocking_lock" from brl_lock_windows_default()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit f83775d8557587c1aa6db031c0b250455d4d7a6b
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:55:42 2019 +0200

    vfs: Remove "blocking_lock" from SMB_VFS_BRL_LOCK_WINDOWS
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 37c9c4c3ce3e26730f79bce5feaf51433bd331f7
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:42:50 2019 +0200

    smbd: brl_lock() never sees blocking locks anymore
    
    This is now all handled in protocol-specific layers
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 5a012a0fdfdd68640bae4a5044dbd071143fa252
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:42:50 2019 +0200

    smbd: do_lock() never sees blocking locks anymore
    
    This is now all handled in protocol-specific layers
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit b70d855e1aedf6b267b9d6fe189fefd207bffc2c
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:30:15 2019 +0200

    smbd: Make do_lock() return NTSTATUS
    
    This routine did a NO-GO: It returned something on talloc_tos(), for
    later consumption by push_blocking_lock_request. This is now gone, no
    caller uses the "struct byte_range_lock" returned anymore.
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit b0d4939d6ca09c4617089f81a213b9390fc2da49
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:23:27 2019 +0200

    smbd: Avoid casts in do_lock()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit e36398d93b6a26c25d034b815671e9744392b234
Author: Volker Lendecke <[email protected]>
Date:   Mon Jul 1 14:19:16 2019 +0200

    smbd: Ensure initialized vars in do_lock
    
    brl_lock does not initialize these variables in all cases
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 examples/VFS/skel_opaque.c            |  4 +-
 examples/VFS/skel_transparent.c       |  9 ++--
 source3/include/vfs.h                 | 15 +++---
 source3/include/vfs_macros.h          | 18 +++----
 source3/locking/brlock.c              | 65 ++++++++++-------------
 source3/locking/locking.c             | 99 +++++++++++++++++------------------
 source3/locking/proto.h               | 68 ++++++++++--------------
 source3/modules/vfs_default.c         |  8 ++-
 source3/modules/vfs_fruit.c           | 36 ++-----------
 source3/modules/vfs_full_audit.c      | 15 ++----
 source3/modules/vfs_not_implemented.c |  4 +-
 source3/modules/vfs_time_audit.c      | 10 ++--
 source3/smbd/blocking.c               | 20 +------
 source3/smbd/close.c                  |  2 +-
 source3/smbd/filename.c               |  5 +-
 source3/smbd/proto.h                  |  2 -
 source3/smbd/reply.c                  | 15 +++---
 source3/smbd/smb2_lock.c              |  2 -
 source3/smbd/trans2.c                 |  1 -
 19 files changed, 150 insertions(+), 248 deletions(-)


Changeset truncated at 500 lines:

diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 4e4475a11e8..4b2b11a1aaa 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -647,14 +647,12 @@ static const char *skel_connectpath(struct 
vfs_handle_struct *handle,
 
 static NTSTATUS skel_brl_lock_windows(struct vfs_handle_struct *handle,
                                      struct byte_range_lock *br_lck,
-                                     struct lock_struct *plock,
-                                     bool blocking_lock)
+                                     struct lock_struct *plock)
 {
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
 static bool skel_brl_unlock_windows(struct vfs_handle_struct *handle,
-                                   struct messaging_context *msg_ctx,
                                    struct byte_range_lock *br_lck,
                                    const struct lock_struct *plock)
 {
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index ac2665ef07b..0de01ac9d54 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -818,19 +818,16 @@ static const char *skel_connectpath(struct 
vfs_handle_struct *handle,
 
 static NTSTATUS skel_brl_lock_windows(struct vfs_handle_struct *handle,
                                      struct byte_range_lock *br_lck,
-                                     struct lock_struct *plock,
-                                     bool blocking_lock)
+                                     struct lock_struct *plock)
 {
-       return SMB_VFS_NEXT_BRL_LOCK_WINDOWS(handle,
-                                            br_lck, plock, blocking_lock);
+       return SMB_VFS_NEXT_BRL_LOCK_WINDOWS(handle, br_lck, plock);
 }
 
 static bool skel_brl_unlock_windows(struct vfs_handle_struct *handle,
-                                   struct messaging_context *msg_ctx,
                                    struct byte_range_lock *br_lck,
                                    const struct lock_struct *plock)
 {
-       return SMB_VFS_NEXT_BRL_UNLOCK_WINDOWS(handle, msg_ctx, br_lck, plock);
+       return SMB_VFS_NEXT_BRL_UNLOCK_WINDOWS(handle, br_lck, plock);
 }
 
 static bool skel_strict_lock_check(struct vfs_handle_struct *handle,
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 56f4b9dd1f8..a7ac50f06d2 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -266,6 +266,9 @@
 /* Version 41 - add st_ex_itime to struct stat_ex */
 /* Version 41 - add st_ex_file_id to struct stat_ex */
 /* Version 41 - add SMB_VFS_FS_FILE_ID */
+/* Version 41 - Remove "blocking_lock" parameter from
+                SMB_VFS_BRL_LOCK_WINDOWS */
+/* Version 41 - Remove "msg_ctx" parameter from SMB_VFS_BRL_UNLOCK_WINDOWS */
 
 #define SMB_VFS_INTERFACE_VERSION 41
 
@@ -870,11 +873,9 @@ struct vfs_fn_pointers {
 
        NTSTATUS (*brl_lock_windows_fn)(struct vfs_handle_struct *handle,
                                        struct byte_range_lock *br_lck,
-                                       struct lock_struct *plock,
-                                       bool blocking_lock);
+                                       struct lock_struct *plock);
 
        bool (*brl_unlock_windows_fn)(struct vfs_handle_struct *handle,
-                                     struct messaging_context *msg_ctx,
                                      struct byte_range_lock *br_lck,
                                      const struct lock_struct *plock);
 
@@ -1345,10 +1346,8 @@ const char *smb_vfs_call_connectpath(struct 
vfs_handle_struct *handle,
                                     const struct smb_filename *smb_fname);
 NTSTATUS smb_vfs_call_brl_lock_windows(struct vfs_handle_struct *handle,
                                       struct byte_range_lock *br_lck,
-                                      struct lock_struct *plock,
-                                      bool blocking_lock);
+                                      struct lock_struct *plock);
 bool smb_vfs_call_brl_unlock_windows(struct vfs_handle_struct *handle,
-                                    struct messaging_context *msg_ctx,
                                     struct byte_range_lock *br_lck,
                                     const struct lock_struct *plock);
 bool smb_vfs_call_strict_lock_check(struct vfs_handle_struct *handle,
@@ -1808,10 +1807,8 @@ const char *vfs_not_implemented_connectpath(struct 
vfs_handle_struct *handle,
                                            const struct smb_filename 
*smb_fname);
 NTSTATUS vfs_not_implemented_brl_lock_windows(struct vfs_handle_struct *handle,
                                              struct byte_range_lock *br_lck,
-                                             struct lock_struct *plock,
-                                             bool blocking_lock);
+                                             struct lock_struct *plock);
 bool vfs_not_implemented_brl_unlock_windows(struct vfs_handle_struct *handle,
-                                           struct messaging_context *msg_ctx,
                                            struct byte_range_lock *br_lck,
                                            const struct lock_struct *plock);
 bool vfs_not_implemented_strict_lock_check(struct vfs_handle_struct *handle,
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index c4fa0fe022e..fd0d9681084 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -351,15 +351,15 @@
 #define SMB_VFS_NEXT_CONNECTPATH(conn, smb_fname) \
        smb_vfs_call_connectpath((conn)->next, (smb_fname))
 
-#define SMB_VFS_BRL_LOCK_WINDOWS(conn, br_lck, plock, blocking_lock) \
-       smb_vfs_call_brl_lock_windows((conn)->vfs_handles, (br_lck), (plock), 
(blocking_lock))
-#define SMB_VFS_NEXT_BRL_LOCK_WINDOWS(handle, br_lck, plock, blocking_lock) \
-       smb_vfs_call_brl_lock_windows((handle)->next, (br_lck), (plock), 
(blocking_lock))
-
-#define SMB_VFS_BRL_UNLOCK_WINDOWS(conn, msg_ctx, br_lck, plock) \
-       smb_vfs_call_brl_unlock_windows((conn)->vfs_handles, (msg_ctx), 
(br_lck), (plock))
-#define SMB_VFS_NEXT_BRL_UNLOCK_WINDOWS(handle, msg_ctx, br_lck, plock) \
-       smb_vfs_call_brl_unlock_windows((handle)->next, (msg_ctx), (br_lck), 
(plock))
+#define SMB_VFS_BRL_LOCK_WINDOWS(conn, br_lck, plock) \
+       smb_vfs_call_brl_lock_windows((conn)->vfs_handles, (br_lck), (plock))
+#define SMB_VFS_NEXT_BRL_LOCK_WINDOWS(handle, br_lck, plock) \
+       smb_vfs_call_brl_lock_windows((handle)->next, (br_lck), (plock))
+
+#define SMB_VFS_BRL_UNLOCK_WINDOWS(conn, br_lck, plock) \
+       smb_vfs_call_brl_unlock_windows((conn)->vfs_handles, (br_lck), (plock))
+#define SMB_VFS_NEXT_BRL_UNLOCK_WINDOWS(handle, br_lck, plock) \
+       smb_vfs_call_brl_unlock_windows((handle)->next, (br_lck), (plock))
 
 #define SMB_VFS_STRICT_LOCK_CHECK(conn, fsp, plock) \
        smb_vfs_call_strict_lock_check((conn)->vfs_handles, (fsp), (plock))
diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c
index b4628831f5b..75c020f57a6 100644
--- a/source3/locking/brlock.c
+++ b/source3/locking/brlock.c
@@ -346,7 +346,7 @@ static int lock_compare(const struct lock_struct *lck1,
 ****************************************************************************/
 
 NTSTATUS brl_lock_windows_default(struct byte_range_lock *br_lck,
-    struct lock_struct *plock, bool blocking_lock)
+                                 struct lock_struct *plock)
 {
        unsigned int i;
        files_struct *fsp = br_lck->fsp;
@@ -723,8 +723,7 @@ OR
  We must cope with range splits and merges.
 ****************************************************************************/
 
-static NTSTATUS brl_lock_posix(struct messaging_context *msg_ctx,
-                              struct byte_range_lock *br_lck,
+static NTSTATUS brl_lock_posix(struct byte_range_lock *br_lck,
                               struct lock_struct *plock)
 {
        unsigned int i, count, posix_count;
@@ -892,29 +891,26 @@ static NTSTATUS brl_lock_posix(struct messaging_context 
*msg_ctx,
 
 NTSTATUS smb_vfs_call_brl_lock_windows(struct vfs_handle_struct *handle,
                                       struct byte_range_lock *br_lck,
-                                      struct lock_struct *plock,
-                                      bool blocking_lock)
+                                      struct lock_struct *plock)
 {
        VFS_FIND(brl_lock_windows);
-       return handle->fns->brl_lock_windows_fn(handle, br_lck, plock,
-                                               blocking_lock);
+       return handle->fns->brl_lock_windows_fn(handle, br_lck, plock);
 }
 
 /****************************************************************************
  Lock a range of bytes.
 ****************************************************************************/
 
-NTSTATUS brl_lock(struct messaging_context *msg_ctx,
-               struct byte_range_lock *br_lck,
-               uint64_t smblctx,
-               struct server_id pid,
-               br_off start,
-               br_off size,
-               enum brl_type lock_type,
-               enum brl_flavour lock_flav,
-               bool blocking_lock,
-               struct server_id *blocker_pid,
-               uint64_t *psmblctx)
+NTSTATUS brl_lock(
+       struct byte_range_lock *br_lck,
+       uint64_t smblctx,
+       struct server_id pid,
+       br_off start,
+       br_off size,
+       enum brl_type lock_type,
+       enum brl_flavour lock_flav,
+       struct server_id *blocker_pid,
+       uint64_t *psmblctx)
 {
        NTSTATUS ret;
        struct lock_struct lock;
@@ -939,17 +935,16 @@ NTSTATUS brl_lock(struct messaging_context *msg_ctx,
        };
 
        if (lock_flav == WINDOWS_LOCK) {
-               ret = SMB_VFS_BRL_LOCK_WINDOWS(br_lck->fsp->conn, br_lck,
-                                              &lock, blocking_lock);
+               ret = SMB_VFS_BRL_LOCK_WINDOWS(
+                       br_lck->fsp->conn, br_lck, &lock);
        } else {
-               ret = brl_lock_posix(msg_ctx, br_lck, &lock);
+               ret = brl_lock_posix(br_lck, &lock);
        }
 
 #if ZERO_ZERO
        /* sort the lock list */
        TYPESAFE_QSORT(br_lck->lock_data, (size_t)br_lck->num_locks, 
lock_compare);
 #endif
-
        /* If we're returning an error, return who blocked us. */
        if (!NT_STATUS_IS_OK(ret) && psmblctx) {
                *blocker_pid = lock.context.pid;
@@ -973,9 +968,8 @@ static void brl_delete_lock_struct(struct lock_struct 
*locks,
  Unlock a range of bytes - Windows semantics.
 ****************************************************************************/
 
-bool brl_unlock_windows_default(struct messaging_context *msg_ctx,
-                              struct byte_range_lock *br_lck,
-                              const struct lock_struct *plock)
+bool brl_unlock_windows_default(struct byte_range_lock *br_lck,
+                               const struct lock_struct *plock)
 {
        unsigned int i;
        struct lock_struct *locks = br_lck->lock_data;
@@ -1055,8 +1049,7 @@ bool brl_unlock_windows_default(struct messaging_context 
*msg_ctx,
  Unlock a range of bytes - POSIX semantics.
 ****************************************************************************/
 
-static bool brl_unlock_posix(struct messaging_context *msg_ctx,
-                            struct byte_range_lock *br_lck,
+static bool brl_unlock_posix(struct byte_range_lock *br_lck,
                             struct lock_struct *plock)
 {
        unsigned int i, count;
@@ -1187,21 +1180,18 @@ static bool brl_unlock_posix(struct messaging_context 
*msg_ctx,
 }
 
 bool smb_vfs_call_brl_unlock_windows(struct vfs_handle_struct *handle,
-                                    struct messaging_context *msg_ctx,
                                     struct byte_range_lock *br_lck,
                                     const struct lock_struct *plock)
 {
        VFS_FIND(brl_unlock_windows);
-       return handle->fns->brl_unlock_windows_fn(handle, msg_ctx, br_lck,
-                                                 plock);
+       return handle->fns->brl_unlock_windows_fn(handle, br_lck, plock);
 }
 
 /****************************************************************************
  Unlock a range of bytes.
 ****************************************************************************/
 
-bool brl_unlock(struct messaging_context *msg_ctx,
-               struct byte_range_lock *br_lck,
+bool brl_unlock(struct byte_range_lock *br_lck,
                uint64_t smblctx,
                struct server_id pid,
                br_off start,
@@ -1220,10 +1210,10 @@ bool brl_unlock(struct messaging_context *msg_ctx,
        lock.lock_flav = lock_flav;
 
        if (lock_flav == WINDOWS_LOCK) {
-               return SMB_VFS_BRL_UNLOCK_WINDOWS(br_lck->fsp->conn, msg_ctx,
-                   br_lck, &lock);
+               return SMB_VFS_BRL_UNLOCK_WINDOWS(
+                       br_lck->fsp->conn, br_lck, &lock);
        } else {
-               return brl_unlock_posix(msg_ctx, br_lck, &lock);
+               return brl_unlock_posix(br_lck, &lock);
        }
 }
 
@@ -1368,8 +1358,7 @@ NTSTATUS brl_lockquery(struct byte_range_lock *br_lck,
  fd and so we should not immediately close the fd.
 ****************************************************************************/
 
-void brl_close_fnum(struct messaging_context *msg_ctx,
-                   struct byte_range_lock *br_lck)
+void brl_close_fnum(struct byte_range_lock *br_lck)
 {
        files_struct *fsp = br_lck->fsp;
        uint32_t tid = fsp->conn->cnum;
@@ -1397,7 +1386,7 @@ void brl_close_fnum(struct messaging_context *msg_ctx,
 
                if (lock->context.tid == tid && 
serverid_equal(&lock->context.pid, &pid) &&
                                (lock->fnum == fnum)) {
-                       brl_unlock(msg_ctx,
+                       brl_unlock(
                                br_lck,
                                lock->context.smblctx,
                                pid,
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index aa4d17e04d1..6c69b0055dc 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -230,63 +230,64 @@ static void decrement_current_lock_count(files_struct 
*fsp,
  Utility function called by locking requests.
 ****************************************************************************/
 
-struct byte_range_lock *do_lock(struct messaging_context *msg_ctx,
-                       files_struct *fsp,
-                       uint64_t smblctx,
-                       uint64_t count,
-                       uint64_t offset,
-                       enum brl_type lock_type,
-                       enum brl_flavour lock_flav,
-                       bool blocking_lock,
-                       NTSTATUS *perr,
-                       struct server_id *pblocker_pid,
-                       uint64_t *psmblctx)
+NTSTATUS do_lock(files_struct *fsp,
+                uint64_t smblctx,
+                uint64_t count,
+                uint64_t offset,
+                enum brl_type lock_type,
+                enum brl_flavour lock_flav,
+                struct server_id *pblocker_pid,
+                uint64_t *psmblctx)
 {
        struct byte_range_lock *br_lck = NULL;
-       struct server_id blocker_pid;
-       uint64_t blocker_smblctx;
+       struct server_id blocker_pid = { 0 };
+       uint64_t blocker_smblctx = 0;
+       NTSTATUS status;
 
        /* silently return ok on print files as we don't do locking there */
        if (fsp->print_file) {
-               *perr = NT_STATUS_OK;
-               return NULL;
+               return NT_STATUS_OK;
        }
 
        if (!fsp->can_lock) {
-               *perr = fsp->is_directory ? NT_STATUS_INVALID_DEVICE_REQUEST : 
NT_STATUS_INVALID_HANDLE;
-               return NULL;
+               if (fsp->is_directory) {
+                       return NT_STATUS_INVALID_DEVICE_REQUEST;
+               }
+               return NT_STATUS_INVALID_HANDLE;
        }
 
        if (!lp_locking(fsp->conn->params)) {
-               *perr = NT_STATUS_OK;
-               return NULL;
+               return NT_STATUS_OK;
        }
 
        /* NOTE! 0 byte long ranges ARE allowed and should be stored  */
 
-       DEBUG(10,("do_lock: lock flavour %s lock type %s start=%ju len=%ju "
-               "blocking_lock=%s requested for %s file %s\n",
-               lock_flav_name(lock_flav), lock_type_name(lock_type),
-               (uintmax_t)offset, (uintmax_t)count, blocking_lock ? "true" :
-               "false", fsp_fnum_dbg(fsp), fsp_str_dbg(fsp)));
+       DBG_DEBUG("lock flavour %s lock type %s start=%"PRIu64" len=%"PRIu64" "
+                 "requested for %s file %s\n",
+                 lock_flav_name(lock_flav),
+                 lock_type_name(lock_type),
+                 offset,
+                 count,
+                 fsp_fnum_dbg(fsp),
+                 fsp_str_dbg(fsp));
 
        br_lck = brl_get_locks(talloc_tos(), fsp);
        if (!br_lck) {
-               *perr = NT_STATUS_NO_MEMORY;
-               return NULL;
+               return NT_STATUS_NO_MEMORY;
        }
 
-       *perr = brl_lock(msg_ctx,
-                       br_lck,
-                       smblctx,
-                       messaging_server_id(fsp->conn->sconn->msg_ctx),
-                       offset,
-                       count,
-                       lock_type,
-                       lock_flav,
-                       blocking_lock,
-                       &blocker_pid,
-                       &blocker_smblctx);
+       status = brl_lock(
+               br_lck,
+               smblctx,
+               messaging_server_id(fsp->conn->sconn->msg_ctx),
+               offset,
+               count,
+               lock_type,
+               lock_flav,
+               &blocker_pid,
+               &blocker_smblctx);
+
+       TALLOC_FREE(br_lck);
 
        if (psmblctx != NULL) {
                *psmblctx = blocker_smblctx;
@@ -295,22 +296,22 @@ struct byte_range_lock *do_lock(struct messaging_context 
*msg_ctx,
                *pblocker_pid = blocker_pid;
        }
 
-       DEBUG(10, ("do_lock: returning status=%s\n", nt_errstr(*perr)));
+       DBG_DEBUG("returning status=%s\n", nt_errstr(status));
 
        increment_current_lock_count(fsp, lock_flav);
-       return br_lck;
+
+       return status;
 }
 
 /****************************************************************************
  Utility function called by unlocking requests.
 ****************************************************************************/
 
-NTSTATUS do_unlock(struct messaging_context *msg_ctx,
-                       files_struct *fsp,
-                       uint64_t smblctx,
-                       uint64_t count,
-                       uint64_t offset,
-                       enum brl_flavour lock_flav)
+NTSTATUS do_unlock(files_struct *fsp,
+                  uint64_t smblctx,
+                  uint64_t count,
+                  uint64_t offset,
+                  enum brl_flavour lock_flav)
 {
        bool ok = False;
        struct byte_range_lock *br_lck = NULL;
@@ -335,8 +336,7 @@ NTSTATUS do_unlock(struct messaging_context *msg_ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
-       ok = brl_unlock(msg_ctx,
-                       br_lck,
+       ok = brl_unlock(br_lck,
                        smblctx,
                        messaging_server_id(fsp->conn->sconn->msg_ctx),
                        offset,
@@ -358,8 +358,7 @@ NTSTATUS do_unlock(struct messaging_context *msg_ctx,
  Remove any locks on this fd. Called from file_close().
 ****************************************************************************/
 
-void locking_close_file(struct messaging_context *msg_ctx,
-                       files_struct *fsp,
+void locking_close_file(files_struct *fsp,
                        enum file_close_type close_type)
 {
        struct byte_range_lock *br_lck;
@@ -385,7 +384,7 @@ void locking_close_file(struct messaging_context *msg_ctx,
                 * implictly, we're closing the file and thus remove a
                 * share mode. This will wake the waiters.
                 */
-               brl_close_fnum(msg_ctx, br_lck);
+               brl_close_fnum(br_lck);
                TALLOC_FREE(br_lck);
        }
 }
diff --git a/source3/locking/proto.h b/source3/locking/proto.h
index 1e90a40a9ea..15826a9d4af 100644
--- a/source3/locking/proto.h
+++ b/source3/locking/proto.h
@@ -35,30 +35,26 @@ void brl_set_num_read_oplocks(struct byte_range_lock *brl,
                              uint32_t num_read_oplocks);
 
 NTSTATUS brl_lock_windows_default(struct byte_range_lock *br_lck,
-               struct lock_struct *plock,
-               bool blocking_lock);
+                                 struct lock_struct *plock);
 
-NTSTATUS brl_lock(struct messaging_context *msg_ctx,
-               struct byte_range_lock *br_lck,
-               uint64_t smblctx,
-               struct server_id pid,
-               br_off start,
-               br_off size,
-               enum brl_type lock_type,
-               enum brl_flavour lock_flav,
-               bool blocking_lock,
-               struct server_id *blocker_pid,
-               uint64_t *psmblctx);
-bool brl_unlock(struct messaging_context *msg_ctx,
-               struct byte_range_lock *br_lck,
+NTSTATUS brl_lock(
+       struct byte_range_lock *br_lck,
+       uint64_t smblctx,
+       struct server_id pid,
+       br_off start,
+       br_off size,
+       enum brl_type lock_type,
+       enum brl_flavour lock_flav,
+       struct server_id *blocker_pid,
+       uint64_t *psmblctx);
+bool brl_unlock(struct byte_range_lock *br_lck,
                uint64_t smblctx,
                struct server_id pid,
                br_off start,
                br_off size,
                enum brl_flavour lock_flav);
-bool brl_unlock_windows_default(struct messaging_context *msg_ctx,


-- 
Samba Shared Repository

Reply via email to