diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-02-25 09:51:58 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-02-26 09:32:57 +0100 |
commit | 4ee328d7d26f1a86559993f6533b8a1e12a4c6a1 (patch) | |
tree | 85b494bad8851ee9bd0d679766e30e957e857dbb /source4/ntvfs/posix/pvfs_lock.c | |
parent | be1ba5b63164e7dab4bf067bc1aac4ed9cece2bc (diff) | |
download | samba-4ee328d7d26f1a86559993f6533b8a1e12a4c6a1.tar.gz samba-4ee328d7d26f1a86559993f6533b8a1e12a4c6a1.tar.bz2 samba-4ee328d7d26f1a86559993f6533b8a1e12a4c6a1.zip |
pvfs: handle oplock releases in its own function pvfs_oplock_release()
metze
(This used to be commit 27ec7bfc8b7f46c97e6878caf5cd694c517ce053)
Diffstat (limited to 'source4/ntvfs/posix/pvfs_lock.c')
-rw-r--r-- | source4/ntvfs/posix/pvfs_lock.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/source4/ntvfs/posix/pvfs_lock.c b/source4/ntvfs/posix/pvfs_lock.c index df85b2b775..0796286b7e 100644 --- a/source4/ntvfs/posix/pvfs_lock.c +++ b/source4/ntvfs/posix/pvfs_lock.c @@ -294,6 +294,10 @@ NTSTATUS pvfs_lock(struct ntvfs_module_context *ntvfs, return ntvfs_map_lock(ntvfs, req, lck); } + if (lck->lockx.in.mode & LOCKING_ANDX_OPLOCK_RELEASE) { + return pvfs_oplock_release(ntvfs, req, lck); + } + f = pvfs_find_fd(pvfs, req, lck->lockx.in.file.ntvfs); if (!f) { return NT_STATUS_INVALID_HANDLE; @@ -338,13 +342,6 @@ NTSTATUS pvfs_lock(struct ntvfs_module_context *ntvfs, return NT_STATUS_DOS(ERRDOS, ERRnoatomiclocks); } - if (lck->lockx.in.mode & LOCKING_ANDX_OPLOCK_RELEASE) { - DEBUG(0,("received unexpected oplock break\n")); - talloc_free(pending); - return NT_STATUS_NOT_IMPLEMENTED; - } - - /* the unlocks happen first */ locks = lck->lockx.in.locks; |