summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_shadow_copy2.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2017-01-20 12:09:08 -0800
committerJeremy Allison <jra@samba.org>2017-01-30 18:39:19 +0100
commit42bd1acad75a6b5ea81fe4b30c067dd82623c042 (patch)
tree2e69bdc90ce48db8a9993278d36f9efc95eb15d8 /source3/modules/vfs_shadow_copy2.c
parent27340df4b52e4341f134667c59d71656a7a1fdae (diff)
downloadsamba-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.c10
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,
&timestamp, &stripped)) {
goto done;