1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

s3: VFS: vfs_ceph. Implement linkat().

Currently identical to link().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Böhme <slow@samba.org>
This commit is contained in:
Jeremy Allison 2019-08-14 11:32:30 -07:00
parent 648e771a61
commit 7d2ba253ad

View File

@ -1171,6 +1171,28 @@ static int cephwrap_link(struct vfs_handle_struct *handle,
WRAP_RETURN(result);
}
static int cephwrap_linkat(struct 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)
{
int result = -1;
DBG_DEBUG("[CEPH] link(%p, %s, %s)\n", handle,
old_smb_fname->base_name,
new_smb_fname->base_name);
SMB_ASSERT(srcfsp == srcfsp->conn->cwd_fsp);
SMB_ASSERT(dstfsp == dstfsp->conn->cwd_fsp);
result = ceph_link(handle->data,
old_smb_fname->base_name,
new_smb_fname->base_name);
DBG_DEBUG("[CEPH] link(...) = %d\n", result);
WRAP_RETURN(result);
}
static int cephwrap_mknod(struct vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
mode_t mode,
@ -1452,6 +1474,7 @@ static struct vfs_fn_pointers ceph_fns = {
.symlink_fn = cephwrap_symlink,
.readlink_fn = cephwrap_readlink,
.link_fn = cephwrap_link,
.linkat_fn = cephwrap_linkat,
.mknod_fn = cephwrap_mknod,
.realpath_fn = cephwrap_realpath,
.chflags_fn = cephwrap_chflags,