Ensure we always write the correct incoming mid into the share mode
authorJeremy Allison <jra@samba.org>
Mon, 16 May 2011 17:41:51 +0000 (10:41 -0700)
committerJeremy Allison <jra@samba.org>
Mon, 16 May 2011 17:41:51 +0000 (10:41 -0700)
table entries.

source3/modules/onefs_open.c
source3/smbd/open.c

index 6ab47d739bacd5e72f632931428b07b2e4509000..101dc5bc6e2fff8e81d71972dd62ff63c5b8a03b 100644 (file)
@@ -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
index 076ae1ff694874b0314743f4fa4e9f83e8cac139..5d9621748fe46790c28dd7480c318d0f0790f654 100644 (file)
@@ -2335,7 +2335,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. */
@@ -2828,7 +2829,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. */