summaryrefslogtreecommitdiff
path: root/source3/include/vfs.h
diff options
context:
space:
mode:
authorDave Richards <dave.richards@isilon.com>2009-03-13 14:15:28 -0700
committerTim Prouty <tprouty@samba.org>2009-03-13 14:16:55 -0700
commit1fcc11ff25f1c3e7586b13b24e5d0eec4ccfaedc (patch)
tree48e52776085f9db96fce7e62f695aef5c6d774da /source3/include/vfs.h
parent1355dc2fd3a10c54fc3534409b78972d59d59b30 (diff)
downloadsamba-1fcc11ff25f1c3e7586b13b24e5d0eec4ccfaedc.tar.gz
samba-1fcc11ff25f1c3e7586b13b24e5d0eec4ccfaedc.tar.bz2
samba-1fcc11ff25f1c3e7586b13b24e5d0eec4ccfaedc.zip
s3: Add strict lock/unlock calls to the vfs layer to replace is_locked
Diffstat (limited to 'source3/include/vfs.h')
-rw-r--r--source3/include/vfs.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 0ee7f236b0..0c0e0938bd 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -116,6 +116,7 @@
/* Leave at 25 - not yet released. Add SMB_STRUCT_STAT to readdir. - sdann */
/* Leave at 25 - not yet released. Add init_search_op call. - sdann */
/* Leave at 25 - not yet released. Add locking calls. -- zkirsch. */
+/* Leave at 25 - not yet released. Add strict locking calls. -- drichards. */
#define SMB_VFS_INTERFACE_VERSION 25
@@ -223,6 +224,8 @@ typedef enum _vfs_op_type {
SMB_VFS_OP_BRL_LOCK_WINDOWS,
SMB_VFS_OP_BRL_UNLOCK_WINDOWS,
SMB_VFS_OP_BRL_CANCEL_WINDOWS,
+ SMB_VFS_OP_STRICT_LOCK,
+ SMB_VFS_OP_STRICT_UNLOCK,
/* NT ACL operations. */
@@ -415,6 +418,14 @@ struct vfs_ops {
struct lock_struct *plock,
struct blocking_lock_record *blr);
+ bool (*strict_lock)(struct vfs_handle_struct *handle,
+ struct files_struct *fsp,
+ struct lock_struct *plock);
+
+ void (*strict_unlock)(struct vfs_handle_struct *handle,
+ struct files_struct *fsp,
+ struct lock_struct *plock);
+
/* NT ACL operations. */
NTSTATUS (*fget_nt_acl)(struct vfs_handle_struct *handle,
@@ -556,6 +567,8 @@ struct vfs_ops {
struct vfs_handle_struct *brl_lock_windows;
struct vfs_handle_struct *brl_unlock_windows;
struct vfs_handle_struct *brl_cancel_windows;
+ struct vfs_handle_struct *strict_lock;
+ struct vfs_handle_struct *strict_unlock;
/* NT ACL operations. */