summaryrefslogtreecommitdiffstats
path: root/source3/modules
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-11-27 12:42:39 +0100
committerKarolin Seeger <kseeger@samba.org>2009-12-08 09:14:59 +0100
commit6a9e870355b45cc2e2889fccd7e4f5c1a2431aff (patch)
tree2123098151cf7cb2dbaedfb2579ccd4925c96166 /source3/modules
parentadaed83b56c5514929e7fb299cd57793f7afa621 (diff)
downloadsamba-6a9e870355b45cc2e2889fccd7e4f5c1a2431aff.tar.gz
samba-6a9e870355b45cc2e2889fccd7e4f5c1a2431aff.tar.xz
samba-6a9e870355b45cc2e2889fccd7e4f5c1a2431aff.zip
s3: Pass the "fake dir create times" parameter to sys_*stat
Step 0 to restore it as a per-share paramter (cherry picked from commit 572b1f7d7fbfd7719b51033f34f139497cda0f00)
Diffstat (limited to 'source3/modules')
-rw-r--r--source3/modules/vfs_default.c12
-rw-r--r--source3/modules/vfs_netatalk.c4
2 files changed, 10 insertions, 6 deletions
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 258caf82994..318e03ecff9 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -487,7 +487,8 @@ static int copy_reg(const char *source, const char *dest)
int ifd = -1;
int ofd = -1;
- if (sys_lstat (source, &source_stats) == -1)
+ if (sys_lstat (source, &source_stats,
+ lp_fake_dir_create_times()) == -1)
return -1;
if (!S_ISREG (source_stats.st_ex_mode))
@@ -615,7 +616,8 @@ static int vfswrap_stat(vfs_handle_struct *handle,
goto out;
}
- result = sys_stat(smb_fname->base_name, &smb_fname->st);
+ result = sys_stat(smb_fname->base_name, &smb_fname->st,
+ lp_fake_dir_create_times());
out:
END_PROFILE(syscall_stat);
return result;
@@ -626,7 +628,8 @@ static int vfswrap_fstat(vfs_handle_struct *handle, files_struct *fsp, SMB_STRUC
int result;
START_PROFILE(syscall_fstat);
- result = sys_fstat(fsp->fh->fd, sbuf);
+ result = sys_fstat(fsp->fh->fd,
+ sbuf, lp_fake_dir_create_times());
END_PROFILE(syscall_fstat);
return result;
}
@@ -643,7 +646,8 @@ static int vfswrap_lstat(vfs_handle_struct *handle,
goto out;
}
- result = sys_lstat(smb_fname->base_name, &smb_fname->st);
+ result = sys_lstat(smb_fname->base_name, &smb_fname->st,
+ lp_fake_dir_create_times());
out:
END_PROFILE(syscall_lstat);
return result;
diff --git a/source3/modules/vfs_netatalk.c b/source3/modules/vfs_netatalk.c
index fa9e774c1a7..2bcd42af4ca 100644
--- a/source3/modules/vfs_netatalk.c
+++ b/source3/modules/vfs_netatalk.c
@@ -80,7 +80,7 @@ static int atalk_build_paths(TALLOC_CTX *ctx, const char *path, const char *fnam
/* get pointer to last '/' */
ptr1 = atalk_get_path_ptr(*orig_path);
- sys_lstat(*orig_path, orig_info);
+ sys_lstat(*orig_path, orig_info, lp_fake_dir_create_times());
if (S_ISDIR(orig_info->st_ex_mode)) {
*adbl_path = talloc_asprintf(ctx, "%s/%s/%s/",
@@ -95,7 +95,7 @@ static int atalk_build_paths(TALLOC_CTX *ctx, const char *path, const char *fnam
#if 0
DEBUG(3, ("ATALK: DEBUG:\n%s\n%s\n", *orig_path, *adbl_path));
#endif
- sys_lstat(*adbl_path, adbl_info);
+ sys_lstat(*adbl_path, adbl_info, lp_fake_dir_create_times());
return 0;
}