From 44ce5603ddbb1b9d75bfff58e40e7f1ea2821c67 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 27 Nov 2009 12:42:39 +0100 Subject: s3: Pass the "fake dir create times" parameter to sys_*stat Step 0 to restore it as a per-share paramter --- source3/modules/vfs_default.c | 12 ++++++++---- source3/modules/vfs_netatalk.c | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'source3/modules') diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 258caf8299..318e03ecff 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 fa9e774c1a..2bcd42af4c 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; } -- cgit