From 6c3928e4e5b724190843f75bec3e697af77a01a0 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 12 Aug 2019 16:49:26 -0700 Subject: s3: VFS: Add SMB_VFS_LINKAT(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently identical to SMB_VFS_LINK(). Next, move add to all VFS modules that implement link and eventually remove link. Signed-off-by: Jeremy Allison Reviewed-by: Ralph Böhme --- examples/VFS/skel_opaque.c | 12 ++++++++++++ examples/VFS/skel_transparent.c | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) (limited to 'examples') diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c index 40e16c342ef..351e0f690cb 100644 --- a/examples/VFS/skel_opaque.c +++ b/examples/VFS/skel_opaque.c @@ -481,6 +481,17 @@ static int skel_link(vfs_handle_struct *handle, return -1; } +static int skel_linkat(vfs_handle_struct *handle, + files_struct *srcfsp, + const struct smb_filename *old_smb_fname, + files_struct *dstfsp, + const struct smb_filename *new_smb_fname, + int flags) +{ + errno = ENOSYS; + return -1; +} + static int skel_mknod(vfs_handle_struct *handle, const struct smb_filename *smb_fname, mode_t mode, @@ -1087,6 +1098,7 @@ static struct vfs_fn_pointers skel_opaque_fns = { .symlink_fn = skel_symlink, .readlink_fn = skel_vfs_readlink, .link_fn = skel_link, + .linkat_fn = skel_linkat, .mknod_fn = skel_mknod, .realpath_fn = skel_realpath, .chflags_fn = skel_chflags, diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c index b5d44377463..9b294ec6877 100644 --- a/examples/VFS/skel_transparent.c +++ b/examples/VFS/skel_transparent.c @@ -578,6 +578,21 @@ static int skel_link(vfs_handle_struct *handle, return SMB_VFS_NEXT_LINK(handle, old_smb_fname, new_smb_fname); } +static int skel_linkat(vfs_handle_struct *handle, + files_struct *srcfsp, + const struct smb_filename *old_smb_fname, + files_struct *dstfsp, + const struct smb_filename *new_smb_fname, + int flags) +{ + return SMB_VFS_NEXT_LINKAT(handle, + srcfsp, + old_smb_fname, + dstfsp, + new_smb_fname, + flags); +} + static int skel_mknod(vfs_handle_struct *handle, const struct smb_filename *smb_fname, mode_t mode, @@ -1353,6 +1368,7 @@ static struct vfs_fn_pointers skel_transparent_fns = { .symlink_fn = skel_symlink, .readlink_fn = skel_vfs_readlink, .link_fn = skel_link, + .linkat_fn = skel_linkat, .mknod_fn = skel_mknod, .realpath_fn = skel_realpath, .chflags_fn = skel_chflags, -- cgit v1.2.1