shadow_copy2: add snapshot_basepath to the config.
authorMichael Adam <obnox@samba.org>
Thu, 3 Oct 2013 22:07:15 +0000 (00:07 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 4 Oct 2013 20:21:13 +0000 (09:21 +1300)
This is the absolute version of snapdir.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/modules/vfs_shadow_copy2.c

index 8f2f466054be3e66b801fa398b3ea4d76e548199..f3be5fefa316fd1ce60ee8a56b91dfe540d0bb7b 100644 (file)
@@ -120,6 +120,7 @@ struct shadow_copy2_config {
        char *basedir;
        char *mount_point;
        char *rel_connectpath; /* share root, relative to the basedir */
+       char *snapshot_basepath; /* the absolute version of snapdir */
 };
 
 static bool shadow_copy2_find_slashes(TALLOC_CTX *mem_ctx, const char *str,
@@ -1762,6 +1763,16 @@ static int shadow_copy2_connect(struct vfs_handle_struct *handle,
                                  "Disabling it.\n"));
                        config->crossmountpoints = false;
                }
+
+               config->snapshot_basepath = config->snapdir;
+       } else {
+               config->snapshot_basepath = talloc_asprintf(config, "%s/%s",
+                               config->mount_point, config->snapdir);
+               if (config->snapshot_basepath == NULL) {
+                       DEBUG(0, ("talloc_asprintf() failed\n"));
+                       errno = ENOMEM;
+                       return -1;
+               }
        }
 
        SMB_VFS_HANDLE_SET_DATA(handle, config,