diff options
author | Volker Lendecke <vl@samba.org> | 2009-11-27 12:42:39 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2009-12-08 09:14:59 +0100 |
commit | 6a9e870355b45cc2e2889fccd7e4f5c1a2431aff (patch) | |
tree | 2123098151cf7cb2dbaedfb2579ccd4925c96166 /source3/modules | |
parent | adaed83b56c5514929e7fb299cd57793f7afa621 (diff) | |
download | samba-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.c | 12 | ||||
-rw-r--r-- | source3/modules/vfs_netatalk.c | 4 |
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; } |