summaryrefslogtreecommitdiff
path: root/source3/smbd/open.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-04-12 21:40:28 -0700
committerJeremy Allison <jra@samba.org>2010-04-12 21:40:28 -0700
commit79842437684be380407661fc27e64f223a326b18 (patch)
tree867b994fdc97991637d5b33fa57ba77b214c9cca /source3/smbd/open.c
parent8a2169d6749498c7929e7533f6b3c9d965b0aa3b (diff)
downloadsamba-79842437684be380407661fc27e64f223a326b18.tar.gz
samba-79842437684be380407661fc27e64f223a326b18.tar.bz2
samba-79842437684be380407661fc27e64f223a326b18.zip
Move to using 64-bit mid values in our internal open file database.
This will allow us to share logic much easier between SMB1 and SMB2 servers. Jeremy
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r--source3/smbd/open.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 1e98e88388..0e45c1d4b8 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -890,7 +890,7 @@ static bool is_delete_request(files_struct *fsp) {
static NTSTATUS send_break_message(files_struct *fsp,
struct share_mode_entry *exclusive,
- uint16 mid,
+ uint64_t mid,
int oplock_request)
{
NTSTATUS status;
@@ -907,7 +907,8 @@ static NTSTATUS send_break_message(files_struct *fsp,
don't want this set in the share mode struct pointed to by lck. */
if (oplock_request & FORCE_OPLOCK_BREAK_TO_NONE) {
- SSVAL(msg,6,exclusive->op_type | FORCE_OPLOCK_BREAK_TO_NONE);
+ SSVAL(msg,OP_BREAK_MSG_OP_TYPE_OFFSET,
+ exclusive->op_type | FORCE_OPLOCK_BREAK_TO_NONE);
}
status = messaging_send_buf(smbd_messaging_context(), exclusive->pid,
@@ -934,7 +935,7 @@ static NTSTATUS send_break_message(files_struct *fsp,
static bool delay_for_oplocks(struct share_mode_lock *lck,
files_struct *fsp,
- uint16 mid,
+ uint64_t mid,
int pass_number,
int oplock_request)
{
@@ -1069,7 +1070,8 @@ static void defer_open(struct share_mode_lock *lck,
if (procid_is_me(&e->pid) && (e->op_mid == req->mid)) {
DEBUG(0, ("Trying to defer an already deferred "
- "request: mid=%d, exiting\n", req->mid));
+ "request: mid=%llu, exiting\n",
+ (unsigned long long)req->mid));
exit_server("attempt to defer a deferred request");
}
}
@@ -1077,10 +1079,10 @@ static void defer_open(struct share_mode_lock *lck,
/* End paranoia check */
DEBUG(10,("defer_open_sharing_error: time [%u.%06u] adding deferred "
- "open entry for mid %u\n",
+ "open entry for mid %llu\n",
(unsigned int)request_time.tv_sec,
(unsigned int)request_time.tv_usec,
- (unsigned int)req->mid));
+ (unsigned long long)req->mid));
if (!push_deferred_open_message_smb(req, request_time, timeout,
(char *)state, sizeof(*state))) {