summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2021-05-26 10:39:43 -0700
committerRalph Boehme <slow@samba.org>2021-06-02 05:39:30 +0000
commit0e75f9ffabc751231e80f9583837f6afbc2d6233 (patch)
treeba70d1afea510ef4e9a90720f4ec68e1cd073f20 /examples
parentc500d99e2f5aaec102bf952b7941a2596b3e35a1 (diff)
downloadsamba-0e75f9ffabc751231e80f9583837f6afbc2d6233.tar.gz
s3: VFS: Add SMB_VFS_PARENT_PATHNAME().
Not yet used. Default is NTSTATUS version of parent_smb_fname(). Now to replace all users of parent_smb_fname() with SMB_VFS_PARENT_PATHNAME() and then remove parent_smb_fname(). Needed due to snapdirseverywhere code in vfs_shadow_copy2. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'examples')
-rw-r--r--examples/VFS/skel_opaque.c10
-rw-r--r--examples/VFS/skel_transparent.c14
2 files changed, 24 insertions, 0 deletions
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 487919f38a8..4ac5e61f1ff 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -684,6 +684,15 @@ static NTSTATUS skel_translate_name(struct vfs_handle_struct *handle,
return NT_STATUS_NOT_IMPLEMENTED;
}
+static NTSTATUS skel_parent_pathname(struct vfs_handle_struct *handle,
+ TALLOC_CTX *mem_ctx,
+ const struct smb_filename *smb_fname_in,
+ struct smb_filename **parent_dir_out,
+ struct smb_filename **atname_out)
+{
+ return NT_STATUS_NOT_IMPLEMENTED;
+}
+
static NTSTATUS skel_fsctl(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *ctx,
@@ -1063,6 +1072,7 @@ static struct vfs_fn_pointers skel_opaque_fns = {
.brl_unlock_windows_fn = skel_brl_unlock_windows,
.strict_lock_check_fn = skel_strict_lock_check,
.translate_name_fn = skel_translate_name,
+ .parent_pathname_fn = skel_parent_pathname,
.fsctl_fn = skel_fsctl,
.freaddir_attr_fn = skel_freaddir_attr,
.audit_file_fn = skel_audit_file,
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index a0a747d8b57..9138bde0872 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -898,6 +898,19 @@ static NTSTATUS skel_translate_name(struct vfs_handle_struct *handle,
mem_ctx, pmapped_name);
}
+static NTSTATUS skel_parent_pathname(struct vfs_handle_struct *handle,
+ TALLOC_CTX *mem_ctx,
+ const struct smb_filename *smb_fname_in,
+ struct smb_filename **parent_dir_out,
+ struct smb_filename **atname_out)
+{
+ return SMB_VFS_NEXT_PARENT_PATHNAME(handle,
+ mem_ctx,
+ smb_fname_in,
+ parent_dir_out,
+ atname_out);
+}
+
static NTSTATUS skel_fsctl(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *ctx,
@@ -1368,6 +1381,7 @@ static struct vfs_fn_pointers skel_transparent_fns = {
.brl_unlock_windows_fn = skel_brl_unlock_windows,
.strict_lock_check_fn = skel_strict_lock_check,
.translate_name_fn = skel_translate_name,
+ .parent_pathname_fn = skel_parent_pathname,
.fsctl_fn = skel_fsctl,
.freaddir_attr_fn = skel_freaddir_attr,
.audit_file_fn = skel_audit_file,