summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2017-01-20 12:09:08 -0800
committerStefan Metzmacher <metze@samba.org>2017-02-14 00:24:27 +0100
commit805a7e33db84ef3229573d428c9232e859737524 (patch)
treefebee1aef2890dba9660512567cc1b23c3555c57
parent2caa2197b459aefbf1f4ad92c59937a00ea68f0a (diff)
downloadsamba-805a7e33db84ef3229573d428c9232e859737524.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> (cherry picked from commit 42bd1acad75a6b5ea81fe4b30c067dd82623c042)
-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;