diff options
author | Jeremy Allison <jra@samba.org> | 2011-05-16 10:41:51 -0700 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-05-17 09:20:10 +0200 |
commit | a58a74d2bdf0897bfa76426fc721c7c216458549 (patch) | |
tree | 271534a96338e20b4d46cf2dd042f63d64c2632a | |
parent | 7381ed25c66d07d28fd350429636b140fd58e39d (diff) | |
download | samba-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.c | 6 | ||||
-rw-r--r-- | source3/smbd/open.c | 6 |
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. */ |