makefs: Also set UFS di_birthtime when building on Linux

Since st_birthtime doesn't exists on Linux (unless you use statx(2)), we
instead populate it with the st_ctime value.

Reviewed By:	emaste
Differential Revision: https://reviews.freebsd.org/D22386
This commit is contained in:
Alex Richardson 2019-11-15 18:34:30 +00:00
parent 62a3510f1f
commit 1e9f67e2e4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=354739

View File

@ -728,15 +728,22 @@ ffs_build_dinode2(struct ufs2_dinode *dinp, dirbuf_t *dbufp, fsnode *cur,
dinp->di_atime = st->st_atime;
dinp->di_mtime = st->st_mtime;
dinp->di_ctime = st->st_ctime;
#if HAVE_STRUCT_STAT_BIRTHTIME
dinp->di_birthtime = st->st_birthtime;
#else
dinp->di_birthtime = st->st_ctime;
#endif
#if HAVE_STRUCT_STAT_ST_MTIMENSEC
dinp->di_atimensec = st->st_atimensec;
dinp->di_mtimensec = st->st_mtimensec;
dinp->di_ctimensec = st->st_ctimensec;
#endif
#if HAVE_STRUCT_STAT_BIRTHTIME
dinp->di_birthtime = st->st_birthtime;
dinp->di_birthnsec = st->st_birthtimensec;
#else
dinp->di_birthnsec = st->st_ctimensec;
#endif
#endif
/* not set: di_db, di_ib, di_blocks, di_spare */
membuf = NULL;