summaryrefslogtreecommitdiff
path: root/source3/modules
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2012-06-08 17:54:19 +0200
committerStefan Metzmacher <metze@samba.org>2012-09-08 19:48:20 +0200
commiteabe4c8fc4f8ba7ac75ceb9924cd5a90ff14470d (patch)
treeba544598380ea8a5a96f8403179081e9e0f85601 /source3/modules
parent1d012a6780c543620413b24237cb7e9b97a6e3bc (diff)
downloadsamba-eabe4c8fc4f8ba7ac75ceb9924cd5a90ff14470d.tar.gz
samba-eabe4c8fc4f8ba7ac75ceb9924cd5a90ff14470d.tar.bz2
samba-eabe4c8fc4f8ba7ac75ceb9924cd5a90ff14470d.zip
s3:vfs_default: add basic support for durable handle request and reconnect
We only grant durable handles for CIFS/SMB2 only access, that means "kernel oplocks", "kernel share modes" and "posix locking" need to be set to "no". For now we also don't grant durable handles if delete on close is active on the handle. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Pair-Programmed-With: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'source3/modules')
-rw-r--r--source3/modules/vfs_default.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 427e3af9ca..8392feb8c4 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -2232,7 +2232,7 @@ static NTSTATUS vfswrap_durable_cookie(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
DATA_BLOB *cookie)
{
- return NT_STATUS_NOT_SUPPORTED;
+ return vfs_default_durable_cookie(fsp, mem_ctx, cookie);
}
static NTSTATUS vfswrap_durable_disconnect(struct vfs_handle_struct *handle,
@@ -2241,7 +2241,8 @@ static NTSTATUS vfswrap_durable_disconnect(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
DATA_BLOB *new_cookie)
{
- return NT_STATUS_NOT_SUPPORTED;
+ return vfs_default_durable_disconnect(fsp, old_cookie, mem_ctx,
+ new_cookie);
}
static NTSTATUS vfswrap_durable_reconnect(struct vfs_handle_struct *handle,
@@ -2252,7 +2253,9 @@ static NTSTATUS vfswrap_durable_reconnect(struct vfs_handle_struct *handle,
struct files_struct **fsp,
DATA_BLOB *new_cookie)
{
- return NT_STATUS_NOT_SUPPORTED;
+ return vfs_default_durable_reconnect(handle->conn, smb1req, op,
+ old_cookie, mem_ctx,
+ fsp, new_cookie);
}
static struct vfs_fn_pointers vfs_default_fns = {