[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 02bcdd1 s3:smbd: initialize stat_ex buffer in smbd_dirptr_get_entry() via 26290ba s3:vfs:gpfs: log when winAttr-garbage is detected (by heuristics) in is_offline via 31e6750 s3:vfs:gpfs: fix flapping offline: always get winAttrs from gpfs for is_offline via 573ca6e s3:vfs:gpfs: store the winAttrs in the struct_ex when we got them in vfs_gpfs_fstat() from 7c5ea40 s3:smb2_read: let smb2_sendfile_send_data() behave like send_file_readX() http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 02bcdd109fb24a369c05dceabfdc1b5edd291aeb Author: Michael Adam ob...@samba.org Date: Thu Jul 3 10:00:13 2014 +0200 s3:smbd: initialize stat_ex buffer in smbd_dirptr_get_entry() This prevents random garbage in the vfs_private member. Usually it should not be a problem to leave initialization of the vfs_private to the vfs module who wants to use it, but further down in the directory listing code, in vfswrap_readdir, there is in optimization introduced with 2a65e8befef004fd18d17853a1b72155752346c8, to call fstatat if possible to already fill stat info in the readdir call. The problem is that this calls fstatat directly, not going through VFS, but still making the stat buffer valid, leaving vfs_private with random garbage. Hence a vfs module using vfs_private, like vfs_gpfs does for offline info (and winAttrs in general) does not have a chance to tell whether the vfs_private is valid if the stat buffer is marked valid. This is a reason for the flapping offline flag problem of the vfs_gpfs module. Initializing the vfs_private to 0 here will for the vfs_gpfs module result in files being marked online always in a directory listing. So this is not a real fix but it does at least make the problem less random. A real general fix might be to implement SMB_VFS_FSTATAT() and use it here. Signed-off-by: Michael Adam ob...@samba.org Reviewed-by: Christof Schmitt c...@samba.org Autobuild-User(master): Christof Schmitt c...@samba.org Autobuild-Date(master): Sun Jul 13 11:26:58 CEST 2014 on sn-devel-104 commit 26290ba8a45d4caf935995284a111ec57f77cfd7 Author: Michael Adam ob...@samba.org Date: Wed Jul 9 23:56:34 2014 +0200 s3:vfs:gpfs: log when winAttr-garbage is detected (by heuristics) in is_offline In is_offline(), check whether the winAttrs are filled with bits outside 0x and log it prominently: Since GPFS only fills 0x, this could be due to an uninitialized buffer (or another vfs module filling vfs_private? ...). Signed-off-by: Michael Adam ob...@samba.org Reviewed-by: Christof Schmitt c...@samba.org commit 31e67507144aae8d5a8ec49587ac89d2d94636f0 Author: Michael Adam ob...@samba.org Date: Thu Jul 3 10:10:11 2014 +0200 s3:vfs:gpfs: fix flapping offline: always get winAttrs from gpfs for is_offline There is a problem of flapping offline due to uninitialized stat buffers. Due to a optimization in vfswrap_readdir which directly calling fastatat (i.e. not through vfs), marking the stat buffer valid, there is nothing this module can do about it and hence can not currently not rely on the vaildity of the stat buffer. By always calling out to GPFS even when the stat buffer is flagged valid, we can always return correct offline information, thereby sacrificing the readdir optimization. Pair-Programmed-With: Volker Lendecke v...@samba.org Signed-off-by: Michael Adam ob...@samba.org Reviewed-by: Christof Schmitt c...@samba.org commit 573ca6ef6b8376800d8fc988d67909e103b74656 Author: Michael Adam ob...@samba.org Date: Thu Jul 3 10:07:37 2014 +0200 s3:vfs:gpfs: store the winAttrs in the struct_ex when we got them in vfs_gpfs_fstat() This may (e.g.) have lead to some occurrences of flapping offline bits. Signed-off-by: Michael Adam ob...@samba.org Reviewed-by: Christof Schmitt c...@samba.org --- Summary of changes: source3/modules/vfs_gpfs.c | 10 +++--- source3/smbd/dir.c |2 +- 2 files changed, 8 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index 5ad2595..c94e4e8 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -1622,6 +1622,7 @@ static int vfs_gpfs_fstat(struct vfs_handle_struct *handle, sbuf-st_ex_calculated_birthtime = false; sbuf-st_ex_btime.tv_sec = attrs.creationTime.tv_sec; sbuf-st_ex_btime.tv_nsec = attrs.creationTime.tv_nsec; + sbuf-vfs_private = attrs.winAttrs; } return 0; } @@ -1818,9
[SCM] Samba Shared Repository - branch v4-0-test updated
The branch, v4-0-test has been updated via cfbd1da torture4: Make raw.lock.multilock fail after 20 seconds via d06fad8 torture4: Adapt comment to code via 90ca1fd s4: smbtorture: Add multi-lock test. Regression test for bug #10684. via 6207d7f s3: smbd: Locking - re-add pending lock records if we fail to acquire a lock (and the lock hasn't timed out). via b1be3eb s3: smbd: Locking - treat lock timeout the same as any other error. via 9df5a51 s3: smbd: Locking - add and use utility function lock_timed_out(). via 18fc716 s3: smbd: Locking - convert to using utility macro used elsewhere. via f0cf96d net/doc: make clear that net vampire is for NT4 domains only via 09e777f selftest/subunithelper.py: correctly pass testsuite-uxsuccess to end_testsuite() via c9a2f59 selftest/subunithelper.py: correctly handle fail_immediately in end_testsuite of FilterOps via eef4181 selftest/subunithelper.py: correctly handle unexpected success in FilterOps via 78b755d script/autobuild: use --force-rebase option from a064b7c torture3: Fix bug 10687 http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test - Log - commit cfbd1da69faceb75eb67bca0398f4fa1fb97941c Author: Volker Lendecke v...@samba.org Date: Thu Jul 3 10:05:55 2014 + torture4: Make raw.lock.multilock fail after 20 seconds Signed-off-by: Volker Lendecke v...@samba.org Reviewed-by: Jeremy Allison j...@samba.org Autobuild-User(master): Jeremy Allison j...@samba.org Autobuild-Date(master): Fri Jul 4 00:04:10 CEST 2014 on sn-devel-104 (cherry picked from commit 0c97b7eb5359b95c0d51a3b5524e82e34243d2d1) The last 7 patches address bug #10684 - SMB1 blocking locks can fail notification on unlock, causing client timeout. Autobuild-User(v4-0-test): Karolin Seeger ksee...@samba.org Autobuild-Date(v4-0-test): Sun Jul 13 23:35:54 CEST 2014 on sn-devel-104 commit d06fad8bb8cd2e24eeb7cff48da2ed1c287bcafa Author: Volker Lendecke v...@samba.org Date: Thu Jul 3 10:05:39 2014 + torture4: Adapt comment to code Signed-off-by: Volker Lendecke v...@samba.org Reviewed-by: Jeremy Allison j...@samba.org (cherry picked from commit 4205463ef1815d6e86e1d1f1f57651ca30407469) commit 90ca1fd13a3e1ee538502ffeac4a33033859d45b Author: Jeremy Allison j...@samba.org Date: Tue Jul 1 12:05:07 2014 -0700 s4: smbtorture: Add multi-lock test. Regression test for bug #10684. Bug #10684 - SMB1 blocking locks can fail notification on unlock, causing client timeout. https://bugzilla.samba.org/show_bug.cgi?id=10684 Signed-off-by: Jeremy Allison j...@samba.org Reviewed-by: Volker Lendecke volker.lende...@sernet.de (cherry picked from commit 64346a134dac2bd023f7473202ca38d35ffd3c89) commit 6207d7f17c5d8d2c32e096d7383770f147d1776a Author: Jeremy Allison j...@samba.org Date: Wed Jul 2 20:51:24 2014 -0700 s3: smbd: Locking - re-add pending lock records if we fail to acquire a lock (and the lock hasn't timed out). Keep the blocking lock record and the pending lock records consistent if we are dealing with multiple blocking lock requests in one SMB1 LockingX request. Ensure we re-add the records under the record lock, to avoid race conditions. Bug #10684 - SMB1 blocking locks can fail notification on unlock, causing client timeout. https://bugzilla.samba.org/show_bug.cgi?id=10684 Signed-off-by: Jeremy Allison j...@samba.org Reviewed-by: Volker Lendecke volker.lende...@sernet.de (cherry picked from commit 954401f8b2b16b3e2ef9655e8ce94d657becce36) commit b1be3eb040647e756eef4722d39e6d32e0f90c5f Author: Jeremy Allison j...@samba.org Date: Wed Jul 2 20:40:49 2014 -0700 s3: smbd: Locking - treat lock timeout the same as any other error. Allows the special case in process_blocking_lock_queue() that talks back to the client to be removed. Bug #10684 - SMB1 blocking locks can fail notification on unlock, causing client timeout. https://bugzilla.samba.org/show_bug.cgi?id=10684 Signed-off-by: Jeremy Allison j...@samba.org Reviewed-by: Volker Lendecke volker.lende...@sernet.de (cherry picked from commit cc9de6eb091159a84228b988c49261c46c301233) commit 9df5a516d3f11da70506695c4a50b57e92824328 Author: Jeremy Allison j...@samba.org Date: Wed Jul 2 20:18:42 2014 -0700 s3: smbd: Locking - add and use utility function lock_timed_out(). Bug #10684 - SMB1 blocking locks can fail notification on unlock, causing client timeout. https://bugzilla.samba.org/show_bug.cgi?id=10684 Signed-off-by: Jeremy Allison j...@samba.org Reviewed-by: Volker Lendecke volker.lende...@sernet.de (cherry picked from commit 12be57ef3b2d1b670be7a83f29cd580938030015)
autobuild: intermittent test failure detected
The autobuild test system has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey/2014-07-14-0739/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey/2014-07-14-0739/samba.stderr http://git.samba.org/autobuild.flakey/2014-07-14-0739/samba.stdout The top commit at the time of the failure was: commit 02bcdd109fb24a369c05dceabfdc1b5edd291aeb Author: Michael Adam ob...@samba.org Date: Thu Jul 3 10:00:13 2014 +0200 s3:smbd: initialize stat_ex buffer in smbd_dirptr_get_entry() This prevents random garbage in the vfs_private member. Usually it should not be a problem to leave initialization of the vfs_private to the vfs module who wants to use it, but further down in the directory listing code, in vfswrap_readdir, there is in optimization introduced with 2a65e8befef004fd18d17853a1b72155752346c8, to call fstatat if possible to already fill stat info in the readdir call. The problem is that this calls fstatat directly, not going through VFS, but still making the stat buffer valid, leaving vfs_private with random garbage. Hence a vfs module using vfs_private, like vfs_gpfs does for offline info (and winAttrs in general) does not have a chance to tell whether the vfs_private is valid if the stat buffer is marked valid. This is a reason for the flapping offline flag problem of the vfs_gpfs module. Initializing the vfs_private to 0 here will for the vfs_gpfs module result in files being marked online always in a directory listing. So this is not a real fix but it does at least make the problem less random. A real general fix might be to implement SMB_VFS_FSTATAT() and use it here. Signed-off-by: Michael Adam ob...@samba.org Reviewed-by: Christof Schmitt c...@samba.org Autobuild-User(master): Christof Schmitt c...@samba.org Autobuild-Date(master): Sun Jul 13 11:26:58 CEST 2014 on sn-devel-104