TODO no, no... s3:modules/onefs_cbrl: pass smbd_server_connection to onefs_cbrl_enume...
authorStefan Metzmacher <metze@samba.org>
Fri, 16 Dec 2011 16:08:29 +0000 (17:08 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 10 May 2012 16:47:12 +0000 (18:47 +0200)
source3/modules/onefs_cbrl.c

index 2f20d04ddb66a613f9b2464204e68a74da534ed1..5d5d63f86b64d31b11e5290477f794717b960601 100644 (file)
@@ -81,9 +81,9 @@ static char *onefs_cbrl_blr_state_str(const struct blocking_lock_record *blr)
        return result;
 }
 
-static void onefs_cbrl_enumerate_blq(const char *fn)
+static void onefs_cbrl_enumerate_blq(struct smbd_server_connection *sconn,
+                                    const char *fn)
 {
-       struct smbd_server_connection *sconn = smbd_server_conn;
        struct blocking_lock_record *blr;
 
        if (DEBUGLVL(10))
@@ -111,7 +111,7 @@ static struct blocking_lock_record *onefs_cbrl_find_blr(uint64_t id)
        struct blocking_lock_record *blr;
        struct onefs_cbrl_blr_state *bs;
 
-       onefs_cbrl_enumerate_blq("onefs_cbrl_find_blr");
+       onefs_cbrl_enumerate_blq(sconn, "onefs_cbrl_find_blr");
 
        if (sconn->using_smb2) {
                struct smbd_smb2_request *smb2req;
@@ -282,6 +282,7 @@ NTSTATUS onefs_brl_lock_windows(vfs_handle_struct *handle,
                                struct blocking_lock_record *blr)
 {
        int fd = br_lck->fsp->fh->fd;
+       struct smbd_server_connection *sconn = br_lck->fsp->conn->sconn;
        uint64_t id = 0;
        enum cbrl_lock_type type;
        bool async = false;
@@ -296,7 +297,7 @@ NTSTATUS onefs_brl_lock_windows(vfs_handle_struct *handle,
        SMB_ASSERT(plock->lock_flav == WINDOWS_LOCK);
        SMB_ASSERT(plock->lock_type != UNLOCK_LOCK);
 
-       onefs_cbrl_enumerate_blq("onefs_brl_lock_windows");
+       onefs_cbrl_enumerate_blq(sconn, "onefs_brl_lock_windows");
 
        /* Will only initialize the first time its called. */
        onefs_init_cbrl();
@@ -409,7 +410,7 @@ success:
        END_PROFILE(syscall_brl_lock);
 
        /* Success. */
-       onefs_cbrl_enumerate_blq("onefs_brl_unlock_windows");
+       onefs_cbrl_enumerate_blq(sconn, "onefs_brl_unlock_windows");
        DEBUG(10, ("returning NT_STATUS_OK.\n"));
        return NT_STATUS_OK;
 }
@@ -462,6 +463,7 @@ bool onefs_brl_cancel_windows(vfs_handle_struct *handle,
 {
        int error;
        int fd = br_lck->fsp->fh->fd;
+       struct smbd_server_connection *sconn = br_lck->fsp->conn->sconn;
        struct onefs_cbrl_blr_state *bs;
 
        START_PROFILE(syscall_brl_cancel);
@@ -470,7 +472,7 @@ bool onefs_brl_cancel_windows(vfs_handle_struct *handle,
        SMB_ASSERT(plock->lock_flav == WINDOWS_LOCK);
        SMB_ASSERT(blr);
 
-       onefs_cbrl_enumerate_blq("onefs_brl_cancel_windows");
+       onefs_cbrl_enumerate_blq(sconn, "onefs_brl_cancel_windows");
 
        bs = ((struct onefs_cbrl_blr_state *)blr->blr_private);
        SMB_ASSERT(bs);
@@ -500,7 +502,7 @@ bool onefs_brl_cancel_windows(vfs_handle_struct *handle,
        }
 
        bs->state = ONEFS_CBRL_DONE;
-       onefs_cbrl_enumerate_blq("onefs_brl_cancel_windows");
+       onefs_cbrl_enumerate_blq(sconn, "onefs_brl_cancel_windows");
        DEBUG(10, ("returning true\n"));
        return true;
 }