commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hurd,commited] hurd: Make O_TRUNC update mtime/ctime


From: Samuel Thibault
Subject: [hurd,commited] hurd: Make O_TRUNC update mtime/ctime
Date: Sun, 29 Mar 2020 19:43:59 +0200

* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Call
__file_utimens after __file_set_size.
---
 hurd/lookup-retry.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c
index c90eda808d..6d8b05e4e6 100644
--- a/hurd/lookup-retry.c
+++ b/hurd/lookup-retry.c
@@ -178,8 +178,17 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
              /* We got a successful translation.  Now apply any open-time
                 action flags we were passed.  */
 
-             if (!err && (flags & O_TRUNC)) /* Asked to truncate the file.  */
-               err = __file_set_size (*result, 0);
+             if (!err && (flags & O_TRUNC))
+               {
+                 /* Asked to truncate the file.  */
+                 err = __file_set_size (*result, 0);
+                 if (!err)
+                   {
+                     struct timespec atime = { 0, UTIME_OMIT };
+                     struct timespec mtime = { 0, UTIME_NOW };
+                     __file_utimens (*result, atime, mtime);
+                   }
+               }
 
              if (err)
                __mach_port_deallocate (__mach_task_self (), *result);
-- 
2.25.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]