diff options
author | kib <kib@FreeBSD.org> | 2008-09-20 19:43:22 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2008-09-20 19:43:22 +0000 |
commit | c6232cabbebca4c41ec2707ec6848c87507d2929 (patch) | |
tree | bef81a2ff36c636857733bbde7137ca18c3d22aa | |
parent | 40cfead11a8617c58ccb1dc4a551c238f64c7fe2 (diff) | |
download | FreeBSD-src-c6232cabbebca4c41ec2707ec6848c87507d2929.zip FreeBSD-src-c6232cabbebca4c41ec2707ec6848c87507d2929.tar.gz |
Initialize birthtime fields in vn_stat() to prevent stat(2) from
returning uninitialized birthtime. Most file systems don't initialize
birthtime properly in their VOP_GETTATTR().
Submitted by: Jaakko Heinonen <jh saunalahti fi>
Reviewed by: bde
Discussed on: freebsd-fs
MFC after: 1 month
-rw-r--r-- | sys/kern/vfs_vnops.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index c66e49c..2fb2e80 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -703,6 +703,15 @@ vn_stat(vp, sb, active_cred, file_cred, td) #endif vap = &vattr; + + /* + * Initialize defaults for new and unusual fields, so that file + * 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; + error = VOP_GETATTR(vp, vap, active_cred); if (error) return (error); |