From e095db0bc6c53a0b7ac3d915c5feb7678049dc33 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 29 Mar 2020 19:42:55 +0200 Subject: hurd: Make O_TRUNC update mtime/ctime * 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); -- cgit 1.4.1