diff options
author | Jeremy Allison <jra@samba.org> | 2021-05-26 10:39:43 -0700 |
---|---|---|
committer | Ralph Boehme <slow@samba.org> | 2021-06-02 05:39:30 +0000 |
commit | 0e75f9ffabc751231e80f9583837f6afbc2d6233 (patch) | |
tree | ba70d1afea510ef4e9a90720f4ec68e1cd073f20 /examples | |
parent | c500d99e2f5aaec102bf952b7941a2596b3e35a1 (diff) | |
download | samba-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.c | 10 | ||||
-rw-r--r-- | examples/VFS/skel_transparent.c | 14 |
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, |