summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2011-05-16 10:41:51 -0700
committerKarolin Seeger <kseeger@samba.org>2011-05-17 09:20:10 +0200
commita58a74d2bdf0897bfa76426fc721c7c216458549 (patch)
tree271534a96338e20b4d46cf2dd042f63d64c2632a
parent7381ed25c66d07d28fd350429636b140fd58e39d (diff)
downloadsamba-a58a74d2bdf0897bfa76426fc721c7c216458549.tar.gz
samba-a58a74d2bdf0897bfa76426fc721c7c216458549.tar.xz
samba-a58a74d2bdf0897bfa76426fc721c7c216458549.zip
Ensure we always write the correct incoming mid into the share mode
table entries. (cherry picked from commit fe21bdc43c0aeacfc8592998e6a90f6f83c939e0) (cherry picked from commit 76f6eed7068909c87f103e96e7e94e59647a7736)
-rw-r--r--source3/modules/onefs_open.c6
-rw-r--r--source3/smbd/open.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/source3/modules/onefs_open.c b/source3/modules/onefs_open.c
index 6ab47d739ba..101dc5bc6e2 100644
--- a/source3/modules/onefs_open.c
+++ b/source3/modules/onefs_open.c
@@ -1310,7 +1310,8 @@ NTSTATUS onefs_open_file_ntcreate(connection_struct *conn,
new_file_created = True;
}
- set_share_mode(lck, fsp, get_current_uid(conn), 0,
+ set_share_mode(lck, fsp, get_current_uid(conn),
+ req ? req->mid : 0,
fsp->oplock_type);
/* Handle strange delete on close create semantics. */
@@ -1666,7 +1667,8 @@ static NTSTATUS onefs_open_directory(connection_struct *conn,
return NT_STATUS_DELETE_PENDING;
}
- set_share_mode(lck, fsp, get_current_uid(conn), 0, NO_OPLOCK);
+ set_share_mode(lck, fsp, get_current_uid(conn),
+ req ? req->mid : 0, NO_OPLOCK);
/*
* For directories the delete on close bit at open time seems
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 91dae4d9935..b8984ee4417 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -2336,7 +2336,8 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
new_file_created = True;
}
- set_share_mode(lck, fsp, get_current_uid(conn), 0,
+ set_share_mode(lck, fsp, get_current_uid(conn),
+ req ? req->mid : 0,
fsp->oplock_type);
/* Handle strange delete on close create semantics. */
@@ -2829,7 +2830,8 @@ static NTSTATUS open_directory(connection_struct *conn,
return status;
}
- set_share_mode(lck, fsp, get_current_uid(conn), 0, NO_OPLOCK);
+ set_share_mode(lck, fsp, get_current_uid(conn),
+ req ? req->mid : 0, NO_OPLOCK);
/* For directories the delete on close bit at open time seems
always to be honored on close... See test 19 in Samba4 BASE-DELETE. */