summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/modules/onefs_cbrl.c4
-rw-r--r--source3/smbd/blocking.c7
3 files changed, 6 insertions, 7 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 13682f3368..2b2754c16f 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5355,7 +5355,7 @@ void brl_timeout_fn(struct event_context *event_ctx,
void *private_data);
struct timeval timeval_brl_min(const struct timeval *tv1,
const struct timeval *tv2);
-void process_blocking_lock_queue(void);
+void process_blocking_lock_queue(struct smbd_server_connection *sconn);
bool push_blocking_lock_request( struct byte_range_lock *br_lck,
struct smb_request *req,
files_struct *fsp,
diff --git a/source3/modules/onefs_cbrl.c b/source3/modules/onefs_cbrl.c
index 4b0600b35c..33f35a7f34 100644
--- a/source3/modules/onefs_cbrl.c
+++ b/source3/modules/onefs_cbrl.c
@@ -184,7 +184,7 @@ static void onefs_cbrl_async_success(uint64_t id)
LEVEL2_CONTEND_WINDOWS_BRL);
/* Process the queue, to try the next lock or finish up. */
- process_blocking_lock_queue();
+ process_blocking_lock_queue(smbd_server_conn);
}
static void onefs_cbrl_async_failure(uint64_t id)
@@ -207,7 +207,7 @@ static void onefs_cbrl_async_failure(uint64_t id)
/* Process the queue. It will end up trying to retake the same lock,
* see the error in onefs_cbrl_lock_windows() and fail. */
- process_blocking_lock_queue();
+ process_blocking_lock_queue(smbd_server_conn);
}
static struct cbrl_event_ops cbrl_ops =
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c
index ea271784a3..0c4e5ce803 100644
--- a/source3/smbd/blocking.c
+++ b/source3/smbd/blocking.c
@@ -53,7 +53,7 @@ void brl_timeout_fn(struct event_context *event_ctx,
change_to_root_user(); /* TODO: Possibly run all timed events as
* root */
- process_blocking_lock_queue();
+ process_blocking_lock_queue(sconn);
}
/****************************************************************************
@@ -701,16 +701,15 @@ static void received_unlock_msg(struct messaging_context *msg,
DATA_BLOB *data)
{
DEBUG(10,("received_unlock_msg\n"));
- process_blocking_lock_queue();
+ process_blocking_lock_queue(smbd_server_conn);
}
/****************************************************************************
Process the blocking lock queue. Note that this is only called as root.
*****************************************************************************/
-void process_blocking_lock_queue(void)
+void process_blocking_lock_queue(struct smbd_server_connection *sconn)
{
- struct smbd_server_connection *sconn = smbd_server_conn;
struct timeval tv_curr = timeval_current();
struct blocking_lock_record *blr, *next = NULL;