diff options
author | Jeremy Allison <jra@samba.org> | 2017-01-20 12:09:08 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2017-01-30 18:39:19 +0100 |
commit | 42bd1acad75a6b5ea81fe4b30c067dd82623c042 (patch) | |
tree | 2e69bdc90ce48db8a9993278d36f9efc95eb15d8 /source3/modules/vfs_shadow_copy2.c | |
parent | 27340df4b52e4341f134667c59d71656a7a1fdae (diff) | |
download | samba-42bd1acad75a6b5ea81fe4b30c067dd82623c042.tar.gz |
s3: VFS: Allow shadow_copy2_connectpath() to return the cached path derived from $cwd.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12531
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Uri Simchoni <uri@samba.org>
Diffstat (limited to 'source3/modules/vfs_shadow_copy2.c')
-rw-r--r-- | source3/modules/vfs_shadow_copy2.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/modules/vfs_shadow_copy2.c b/source3/modules/vfs_shadow_copy2.c index 2d1b1e67fdb..31f36a533f9 100644 --- a/source3/modules/vfs_shadow_copy2.c +++ b/source3/modules/vfs_shadow_copy2.c @@ -2335,9 +2335,19 @@ static const char *shadow_copy2_connectpath(struct vfs_handle_struct *handle, char *parent_dir = NULL; int saved_errno; size_t rootpath_len = 0; + struct shadow_copy2_private *priv = NULL; + + SMB_VFS_HANDLE_GET_DATA(handle, priv, struct shadow_copy2_private, + return NULL); DBG_DEBUG("Calc connect path for [%s]\n", fname); + if (priv->shadow_connectpath != NULL) { + DBG_DEBUG("cached connect path is [%s]\n", + priv->shadow_connectpath); + return priv->shadow_connectpath; + } + if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname, ×tamp, &stripped)) { goto done; |