From: Russ Allbery Date: Mon, 7 May 2007 18:24:34 +0000 (+0000) Subject: DEVEL15-up-preserve-dir-mtime-20070507 X-Git-Tag: openafs-devel-1_5_20~25 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=828cd226514e7c173a6de64a115b6fb6fe0ef138;p=packages%2Fo%2Fopenafs.git DEVEL15-up-preserve-dir-mtime-20070507 FIXES 34522 Set the mtime on newly created directories to match the original directory. (cherry picked from commit 1d4d8f5c4f125707fc6af432024d99e2672cadab) --- diff --git a/src/venus/up.c b/src/venus/up.c index 5ffc92fc4..3bb74a0ed 100644 --- a/src/venus/up.c +++ b/src/venus/up.c @@ -522,6 +522,7 @@ Copy(char *file1, char *file2, short recursive, int level) char f1[MAXPATHLEN], f2[MAXPATHLEN]; char *p1, *p2; struct dirent *d; + struct timeval tv[2]; if (verbose) { printf("Level %d: Directory %s to %s\n", level, file1, file2); @@ -709,6 +710,15 @@ Copy(char *file1, char *file2, short recursive, int level) printf("Not setting acls\n"); } } + + /* preserve access and modification times: ("-x" disables) */ + if (preserveDate) { + tv[0].tv_sec = s1.st_atime; + tv[0].tv_usec = 0; + tv[1].tv_sec = s1.st_mtime; + tv[1].tv_usec = 0; + utimes(file2, tv); + } } return rcode;