diff --git a/sys/fs/fuse/fuse_node.c b/sys/fs/fuse/fuse_node.c --- a/sys/fs/fuse/fuse_node.c +++ b/sys/fs/fuse/fuse_node.c @@ -157,8 +157,7 @@ LIST_INIT(&fvdat->handles); vattr_null(&fvdat->cached_attrs); - fvdat->cached_attrs.va_birthtime.tv_sec = -1; - fvdat->cached_attrs.va_birthtime.tv_nsec = 0; + VA_NOTIME(&fvdat->cached_attrs.va_birthtime); fvdat->cached_attrs.va_fsid = VNOVAL; fvdat->cached_attrs.va_gen = 0; fvdat->cached_attrs.va_rdev = NODEV; diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -298,8 +298,7 @@ 0, &vap->va_birthtime); } else { vap->va_atime = vap->va_mtime; - vap->va_birthtime.tv_sec = -1; - vap->va_birthtime.tv_nsec = 0; + VA_NOTIME(&vap->va_birthtime); } vap->va_flags = 0; if (dep->de_Attributes & ATTR_ARCHIVE) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -1321,8 +1321,7 @@ nap->na_rdev = (NFSDEV_T)0; nap->na_mtime.tv_sec = 0; nap->na_mtime.tv_nsec = 0; - nap->na_btime.tv_sec = -1; - nap->na_btime.tv_nsec = 0; + VA_NOTIME(&nap->na_btime); nap->na_gen = 0; nap->na_flags = 0; nap->na_blocksize = NFS_FABLKSIZE; diff --git a/sys/fs/nfsclient/nfs_clcomsubs.c b/sys/fs/nfsclient/nfs_clcomsubs.c --- a/sys/fs/nfsclient/nfs_clcomsubs.c +++ b/sys/fs/nfsclient/nfs_clcomsubs.c @@ -289,8 +289,7 @@ fxdr_nfsv3time(&fp->fa3_atime, &nap->na_atime); fxdr_nfsv3time(&fp->fa3_ctime, &nap->na_ctime); fxdr_nfsv3time(&fp->fa3_mtime, &nap->na_mtime); - nap->na_btime.tv_sec = -1; - nap->na_btime.tv_nsec = 0; + VA_NOTIME(&nap->na_btime); nap->na_flags = 0; nap->na_gen = 0; nap->na_filerev = 0; @@ -322,8 +321,7 @@ nap->na_ctime.tv_sec = fxdr_unsigned(u_int32_t, fp->fa2_ctime.nfsv2_sec); nap->na_ctime.tv_nsec = 0; - nap->na_btime.tv_sec = -1; - nap->na_btime.tv_nsec = 0; + VA_NOTIME(&nap->na_btime); nap->na_gen = fxdr_unsigned(u_int32_t,fp->fa2_ctime.nfsv2_usec); nap->na_filerev = 0; } diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -1506,8 +1506,7 @@ * systems which don't support these fields don't need to know * about them. */ - vap->va_birthtime.tv_sec = -1; - vap->va_birthtime.tv_nsec = 0; + VA_NOTIME(&vap->va_birthtime); vap->va_fsid = VNOVAL; vap->va_gen = 0; vap->va_rdev = NODEV; diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -384,6 +384,14 @@ */ #define VNOVAL (-1) +/* + * Initialize a vnode timestamp to "invalid" + */ +#define VA_NOTIME(ts) { \ + (ts)->tv_sec = -1; \ + (ts)->tv_nsec = 0; \ +} + /* * LK_TIMELOCK timeout for vnode locks (used mainly by the pageout daemon) */ diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -546,8 +546,7 @@ sb->st_mtim.tv_nsec = ip->i_din1->di_mtimensec; sb->st_ctim.tv_sec = ip->i_din1->di_ctime; sb->st_ctim.tv_nsec = ip->i_din1->di_ctimensec; - sb->st_birthtim.tv_sec = -1; - sb->st_birthtim.tv_nsec = 0; + VA_NOTIME(&sb->st_birthtim); sb->st_blocks = dbtob((uint64_t)ip->i_din1->di_blocks) / S_BLKSIZE; } else { sb->st_rdev = ip->i_din2->di_rdev;