r3029: implemented byte range lock timeouts.
authorAndrew Tridgell <tridge@samba.org>
Mon, 18 Oct 2004 07:40:17 +0000 (07:40 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:00:00 +0000 (13:00 -0500)
commitd0cc571e30bf49443ac7d1b1a0b896ee72d7d9a6
treea0c43b9894da40ab6b78cdad8a6a6964d8067fe7
parentd37acd0fe71923987a68377bf01040eaed245d9f
r3029: implemented byte range lock timeouts.

This adds a pvfs_wait_message() routine which uses the new messaging
system, event timers and talloc destructors to give a nice generic
async event handling system with a easy to use interface. The
extensions to pvfs_lock.c are based on calls to pvfs_wait_message()
routines.

We now pass all of our smbtorture locking tests, although while
writing this code I have thought of some additonal tests that should
be added, particularly for lock cancel operations. I'll work on that
soon.

This commit also extends the smbtorture lock tests to test the rather
weird 0xEEFFFFFF locking semantics that I have discovered in
win2003. Win2003 treats the 0xEEFFFFFF boundary as special, and will
give different error codes on either side of it. Locks on both sides
are allowed, the only difference is which error code is given when a
lock is denied. Anyone like to hazard a guess as to why? It has
me stumped.
(This used to be commit 4395c0557ab175d6a8dd99df03c266325949ffa5)
source4/include/messages.h
source4/include/smb.h
source4/lib/messaging/messaging.c
source4/ntvfs/common/brlock.c
source4/ntvfs/posix/config.mk
source4/ntvfs/posix/pvfs_lock.c
source4/ntvfs/posix/pvfs_open.c
source4/ntvfs/posix/pvfs_wait.c [new file with mode: 0644]
source4/ntvfs/posix/vfs_posix.c
source4/torture/basic/locking.c
source4/torture/raw/lock.c