git.samba.org
/
kai
/
samba.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7fee41c
)
s3:smbd/oplock: pass sconn as private_data to process_kernel_oplock_break()
author
Stefan Metzmacher
<metze@samba.org>
Tue, 13 Dec 2011 12:18:47 +0000
(13:18 +0100)
committer
Stefan Metzmacher
<metze@samba.org>
Tue, 13 Dec 2011 19:31:09 +0000
(20:31 +0100)
metze
source3/smbd/oplock.c
patch
|
blob
|
history
diff --git
a/source3/smbd/oplock.c
b/source3/smbd/oplock.c
index b23df3fdfa2822d8f0cef4732a32a58b0f3cfd7a..067681e0f94ae86f698a67f6c37d6ead13bbb318 100644
(file)
--- a/
source3/smbd/oplock.c
+++ b/
source3/smbd/oplock.c
@@
-594,10
+594,16
@@
static void process_kernel_oplock_break(struct messaging_context *msg_ctx,
struct server_id src,
DATA_BLOB *data)
{
struct server_id src,
DATA_BLOB *data)
{
- struct smbd_server_connection *sconn;
struct file_id id;
unsigned long file_id;
files_struct *fsp;
struct file_id id;
unsigned long file_id;
files_struct *fsp;
+ struct smbd_server_connection *sconn =
+ talloc_get_type(private_data,
+ struct smbd_server_connection);
+
+ if (sconn == NULL) {
+ return;
+ }
if (data->data == NULL) {
DEBUG(0, ("Got NULL buffer\n"));
if (data->data == NULL) {
DEBUG(0, ("Got NULL buffer\n"));
@@
-609,12
+615,6
@@
static void process_kernel_oplock_break(struct messaging_context *msg_ctx,
return;
}
return;
}
- sconn = msg_ctx_to_sconn(msg_ctx);
- if (sconn == NULL) {
- DEBUG(1, ("could not find sconn\n"));
- return;
- }
-
/* Pull the data from the message. */
pull_file_id_24((char *)data->data, &id);
file_id = (unsigned long)IVAL(data->data, 24);
/* Pull the data from the message. */
pull_file_id_24((char *)data->data, &id);
file_id = (unsigned long)IVAL(data->data, 24);
@@
-943,7
+943,7
@@
bool init_oplocks(struct smbd_server_connection *sconn)
process_oplock_async_level2_break_message);
messaging_register(sconn->msg_ctx, sconn, MSG_SMB_BREAK_RESPONSE,
process_oplock_break_response);
process_oplock_async_level2_break_message);
messaging_register(sconn->msg_ctx, sconn, MSG_SMB_BREAK_RESPONSE,
process_oplock_break_response);
- messaging_register(sconn->msg_ctx,
NULL
, MSG_SMB_KERNEL_BREAK,
+ messaging_register(sconn->msg_ctx,
sconn
, MSG_SMB_KERNEL_BREAK,
process_kernel_oplock_break);
messaging_register(sconn->msg_ctx, NULL, MSG_SMB_OPEN_RETRY,
process_open_retry_message);
process_kernel_oplock_break);
messaging_register(sconn->msg_ctx, NULL, MSG_SMB_OPEN_RETRY,
process_open_retry_message);