From: Mike Yuan Date: Tue, 7 May 2024 12:15:57 +0000 (+0800) Subject: repart: correct timespec_store usage too X-Git-Tag: v256-rc2~80^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8aed85875d450b7ae4799ed2c1746d15b4f47073;p=thirdparty%2Fsystemd.git repart: correct timespec_store usage too --- diff --git a/src/partition/repart.c b/src/partition/repart.c index 8442388359c..b50b9b6206a 100644 --- a/src/partition/repart.c +++ b/src/partition/repart.c @@ -4898,7 +4898,6 @@ static int do_copy_files(Context *context, Partition *p, const char *root) { strempty(arg_copy_source), *source, strempty(root), *target); } else { _cleanup_free_ char *dn = NULL, *fn = NULL; - struct timespec tspec; /* We are looking at a regular file */ @@ -4933,10 +4932,13 @@ static int do_copy_files(Context *context, Partition *p, const char *root) { (void) copy_access(sfd, tfd); (void) copy_times(sfd, tfd, 0); - timespec_store_nsec(&tspec, ts); + if (ts != USEC_INFINITY) { + struct timespec tspec; + timespec_store(&tspec, ts); - if (ts != USEC_INFINITY && futimens(pfd, (const struct timespec[2]) { { .tv_nsec = UTIME_OMIT }, tspec }) < 0) - return -errno; + if (futimens(pfd, (const struct timespec[2]) { { .tv_nsec = UTIME_OMIT }, tspec }) < 0) + return -errno; + } } }