diff options
author | Jeremy Allison <jra@samba.org> | 2008-11-21 18:20:38 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-11-21 18:20:38 -0800 |
commit | 83ff6979f504d50caf725ee62549604630b69be7 (patch) | |
tree | 4d3cbfdff6de10a620cbe76ab51908c6d118adb9 /source3/smbd/open.c | |
parent | dcc4661d4ab55526444f742a2f9634ec14832054 (diff) | |
download | samba-83ff6979f504d50caf725ee62549604630b69be7.tar.gz samba-83ff6979f504d50caf725ee62549604630b69be7.tar.bz2 samba-83ff6979f504d50caf725ee62549604630b69be7.zip |
Fix the logic bug that caused us to run into kernel oplocks on an open for a stream inside a file with stream_xattr module. On opening the base_fsp we must break existing oplocks.
Jeremy.
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r-- | source3/smbd/open.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c index a6867e077c..018d104d0b 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -2830,7 +2830,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, |