The branch main has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=428f86fd2ff1fd2b073d556fac273c8c7f457376

commit 428f86fd2ff1fd2b073d556fac273c8c7f457376
Author:     Ricardo Branco <[email protected]>
AuthorDate: 2024-03-16 17:13:10 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2024-04-16 13:18:15 +0000

    mv: Set file flags after setting file times
    
    Some file flags prevent modification of file times, so they should be
    set later.  This matches NetBSD's behaviour.
    
    Reviewed by:    markj
    MFC after:      1 week
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/1138
---
 bin/mv/mv.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/bin/mv/mv.c b/bin/mv/mv.c
index 7a1ecba7e076..8aea4bbf567c 100644
--- a/bin/mv/mv.c
+++ b/bin/mv/mv.c
@@ -319,6 +319,12 @@ err:               if (unlink(to))
         */
        preserve_fd_acls(from_fd, to_fd, from, to);
        (void)close(from_fd);
+
+       ts[0] = sbp->st_atim;
+       ts[1] = sbp->st_mtim;
+       if (futimens(to_fd, ts))
+               warn("%s: set times", to);
+
        /*
         * XXX
         * NFS doesn't support chflags; ignore errors unless there's reason
@@ -339,11 +345,6 @@ err:               if (unlink(to))
        } else
                warn("%s: cannot stat", to);
 
-       ts[0] = sbp->st_atim;
-       ts[1] = sbp->st_mtim;
-       if (futimens(to_fd, ts))
-               warn("%s: set times", to);
-
        if (close(to_fd)) {
                warn("%s", to);
                return (1);

Reply via email to