1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

smbd: Fix breaking level2 on allocate

This needs doing even if we don't have strct allocate set. The client
should not know that we lied. Fixes smb2.oplock.batch12.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Volker Lendecke 2013-09-05 10:33:21 +00:00 committed by Jeremy Allison
parent d3c689fc5c
commit 5e450f5ba9
2 changed files with 7 additions and 7 deletions

View File

@ -203,7 +203,6 @@
^samba3.smb2.lease.oplock
^samba3.smb2.lease.multibreak
^samba3.smb2.lease.v2_request
^samba3.smb2.oplock.batch12
^samba3.smb2.oplock.batch20
^samba3.smb2.oplock.stream1
^samba3.smb2.streams.rename

View File

@ -561,16 +561,17 @@ int vfs_allocate_file_space(files_struct *fsp, uint64_t len)
return ret;
}
if (!lp_strict_allocate(SNUM(fsp->conn)))
return 0;
/* Grow - we need to test if we have enough space. */
contend_level2_oplocks_begin(fsp, LEVEL2_CONTEND_ALLOC_GROW);
/* See if we have a syscall that will allocate beyond end-of-file
without changing EOF. */
ret = SMB_VFS_FALLOCATE(fsp, VFS_FALLOCATE_KEEP_SIZE, 0, len);
if (lp_strict_allocate(SNUM(fsp->conn))) {
/* See if we have a syscall that will allocate beyond
end-of-file without changing EOF. */
ret = SMB_VFS_FALLOCATE(fsp, VFS_FALLOCATE_KEEP_SIZE, 0, len);
} else {
ret = 0;
}
contend_level2_oplocks_end(fsp, LEVEL2_CONTEND_ALLOC_GROW);