diff options
author | Volker Lendecke <vl@samba.org> | 2009-05-28 19:20:14 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-06-02 11:58:22 +0200 |
commit | 56efcb7b723b581b9c258d137331a171512d4d09 (patch) | |
tree | 4a267a776ce14ea66e1c009568bc0fc97e7f5c30 /source3/modules/vfs_default.c | |
parent | 83ffbb4ec4e0519cd4f9c5f95e11d70c18a1b25b (diff) | |
download | samba-56efcb7b723b581b9c258d137331a171512d4d09.tar.gz samba-56efcb7b723b581b9c258d137331a171512d4d09.tar.bz2 samba-56efcb7b723b581b9c258d137331a171512d4d09.zip |
Add SMB_VFS_CONNECTPATH operation
This is required for the shadow_copy2 module and "wide links = no". The file
system snapshots by nature are typically outside of share directory. So the
REALPATH result fails the wide links = no test.
Diffstat (limited to 'source3/modules/vfs_default.c')
-rw-r--r-- | source3/modules/vfs_default.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index fe63d5001a..4368dcd7da 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -1128,6 +1128,12 @@ static int vfswrap_get_real_filename(struct vfs_handle_struct *handle, return -1; } +static const char *vfswrap_connectpath(struct vfs_handle_struct *handle, + const char *fname) +{ + return handle->conn->connectpath; +} + static NTSTATUS vfswrap_brl_lock_windows(struct vfs_handle_struct *handle, struct byte_range_lock *br_lck, struct lock_struct *plock, @@ -1630,6 +1636,8 @@ static vfs_op_tuple vfs_default_ops[] = { SMB_VFS_LAYER_OPAQUE}, {SMB_VFS_OP(vfswrap_get_real_filename), SMB_VFS_OP_GET_REAL_FILENAME, SMB_VFS_LAYER_OPAQUE}, + {SMB_VFS_OP(vfswrap_connectpath), SMB_VFS_OP_CONNECTPATH, + SMB_VFS_LAYER_OPAQUE}, {SMB_VFS_OP(vfswrap_brl_lock_windows), SMB_VFS_OP_BRL_LOCK_WINDOWS, SMB_VFS_LAYER_OPAQUE}, {SMB_VFS_OP(vfswrap_brl_unlock_windows),SMB_VFS_OP_BRL_UNLOCK_WINDOWS, |