summaryrefslogtreecommitdiff
path: root/source3/smbd/oplock_onefs.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/oplock_onefs.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/oplock_onefs.c')
-rw-r--r--source3/smbd/oplock_onefs.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/source3/smbd/oplock_onefs.c b/source3/smbd/oplock_onefs.c
index 754ba73bfd..3811211088 100644
--- a/source3/smbd/oplock_onefs.c
+++ b/source3/smbd/oplock_onefs.c
@@ -49,7 +49,7 @@ struct onefs_callback_record {
enum onefs_callback_state state;
union {
files_struct *fsp; /* ONEFS_OPEN_FILE */
- uint16_t mid; /* ONEFS_WAITING_FOR_OPLOCK */
+ uint64_t mid; /* ONEFS_WAITING_FOR_OPLOCK */
} data;
};
@@ -78,8 +78,8 @@ const char *onefs_cb_record_str_dbg(const struct onefs_callback_record *r)
fsp_str_dbg(r->data.fsp));
case ONEFS_WAITING_FOR_OPLOCK:
result = talloc_asprintf(talloc_tos(), "cb record %llu for "
- "pending mid %d", r->id,
- (int)r->data.mid);
+ "pending mid %llu", r->id,
+ (unsigned long long)r->data.mid);
break;
default:
result = talloc_asprintf(talloc_tos(), "cb record %llu unknown "
@@ -196,7 +196,7 @@ void destroy_onefs_callback_record(uint64_t id)
* 2. OPEN_FILE: Once ifs_createfile completes, the callback record is
* transitioned to this state via onefs_set_oplock_callback.
*/
-uint64_t onefs_oplock_wait_record(uint16_t mid)
+uint64_t onefs_oplock_wait_record(uint64_t mid)
{
struct onefs_callback_record *result;
static uint64_t id_generator = 0;
@@ -250,7 +250,7 @@ void onefs_set_oplock_callback(uint64_t id, files_struct *fsp)
*/
if (open_was_deferred(cb->data.mid)) {
if (asprintf(&msg, "Trying to upgrade callback for deferred "
- "open mid=%d\n", cb->data.mid) != -1) {
+ "open mid=%llu\n", (unsigned long long)cb->data.mid) != -1) {
smb_panic(msg);
}
smb_panic("Trying to upgrade callback for deferred open "
@@ -407,7 +407,8 @@ static void semlock_available_handler(uint64_t id)
return;
}
- DEBUG(10, ("Got semlock available for mid %d\n", cb->data.mid));
+ DEBUG(10, ("Got semlock available for mid %llu\n",
+ (unsigned long long)cb->data.mid));
/* Paranoia check */
if (!(open_was_deferred(cb->data.mid))) {
@@ -450,7 +451,8 @@ static void semlock_async_failure_handler(uint64_t id)
return;
}
- DEBUG(1, ("Got semlock_async_failure message for mid %d\n", cb->data.mid));
+ DEBUG(1, ("Got semlock_async_failure message for mid %llu\n",
+ (unsigned long long)cb->data.mid));
/* Paranoia check */
if (!(open_was_deferred(cb->data.mid))) {