Fix the logic bug that caused us to run into kernel oplocks on an open for a stream...
[samba.git] / source / smbd / open.c
index 298d5e62628ca3c10ff3fa1c78a37a062e51f419..cdd55bd17fe587045c59a438a9f7f13632e3db91 100644 (file)
@@ -2726,7 +2726,13 @@ NTSTATUS create_file_unixpath(connection_struct *conn,
                        break;
                }
 
-               status = create_file_unixpath(conn, NULL, base, 0,
+               DEBUG(10, ("Recursing into create_file_unixpath for "
+                       "base %s\n", base));
+
+               /* This call will break any oplock on the base file,
+                * but will not actually open an underlying fd. */
+
+               status = create_file_unixpath(conn, req, base, 0,
                                              FILE_SHARE_READ
                                              | FILE_SHARE_WRITE
                                              | FILE_SHARE_DELETE,