aboutsummaryrefslogtreecommitdiff
path: root/sbin/restore/dirs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/restore/dirs.c')
-rw-r--r--sbin/restore/dirs.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sbin/restore/dirs.c b/sbin/restore/dirs.c
index 7b308cd02415..b2cd8fd28869 100644
--- a/sbin/restore/dirs.c
+++ b/sbin/restore/dirs.c
@@ -80,8 +80,8 @@ static struct inotab *inotab[HASHSIZE];
*/
struct modeinfo {
ino_t ino;
- struct timespec ctimep[2];
- struct timespec mtimep[2];
+ struct timeval ctimep[2];
+ struct timeval mtimep[2];
mode_t mode;
uid_t uid;
gid_t gid;
@@ -656,8 +656,8 @@ setdirmodes(int flags)
else
(void) chown(cp, node.uid, node.gid);
(void) chmod(cp, node.mode);
- utimensat(AT_FDCWD, cp, node.ctimep, 0);
- utimensat(AT_FDCWD, cp, node.mtimep, 0);
+ utimes(cp, node.ctimep);
+ utimes(cp, node.mtimep);
(void) chflags(cp, node.flags);
}
ep->e_flags &= ~NEW;
@@ -746,13 +746,13 @@ allocinotab(struct context *ctxp, long seekpt)
return (itp);
node.ino = ctxp->ino;
node.mtimep[0].tv_sec = ctxp->atime_sec;
- node.mtimep[0].tv_nsec = ctxp->atime_nsec;
+ node.mtimep[0].tv_usec = ctxp->atime_nsec / 1000;
node.mtimep[1].tv_sec = ctxp->mtime_sec;
- node.mtimep[1].tv_nsec = ctxp->mtime_nsec;
+ node.mtimep[1].tv_usec = ctxp->mtime_nsec / 1000;
node.ctimep[0].tv_sec = ctxp->atime_sec;
- node.ctimep[0].tv_nsec = ctxp->atime_nsec;
+ node.ctimep[0].tv_usec = ctxp->atime_nsec / 1000;
node.ctimep[1].tv_sec = ctxp->birthtime_sec;
- node.ctimep[1].tv_nsec = ctxp->birthtime_nsec;
+ node.ctimep[1].tv_usec = ctxp->birthtime_nsec / 1000;
node.extsize = ctxp->extsize;
node.mode = ctxp->mode;
node.flags = ctxp->file_flags;