summaryrefslogtreecommitdiffstats
path: root/sys/miscfs/devfs/devfs_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/miscfs/devfs/devfs_vnops.c')
-rw-r--r--sys/miscfs/devfs/devfs_vnops.c40
1 files changed, 16 insertions, 24 deletions
diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c
index 773d903..6c9bae7 100644
--- a/sys/miscfs/devfs/devfs_vnops.c
+++ b/sys/miscfs/devfs/devfs_vnops.c
@@ -1,3 +1,4 @@
+
/*
* Copyright 1997,1998 Julian Elischer. All rights reserved.
* julian@freebsd.org
@@ -23,9 +24,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: devfs_vnops.c,v 1.52 1998/03/10 09:12:19 julian Exp $
+ * $Id: devfs_vnops.c,v 1.53 1998/03/26 20:52:12 phk Exp $
*/
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/namei.h>
@@ -482,33 +484,23 @@ DBPRINT(("getattr\n"));
vap->va_fileid = (long)file_node;
vap->va_size = file_node->len; /* now a u_quad_t */
vap->va_blocksize = 512;
- if(file_node->ctime.tv_sec)
- {
- vap->va_ctime = file_node->ctime;
- }
- else
- {
- TIMEVAL_TO_TIMESPEC(&boottime,&(vap->va_ctime));
- }
- if(file_node->mtime.tv_sec)
- {
- vap->va_mtime = file_node->mtime;
- }
- else
- {
- TIMEVAL_TO_TIMESPEC(&boottime,&(vap->va_mtime));
- }
- if(file_node->atime.tv_sec)
- {
- vap->va_atime = file_node->atime;
- }
- else
+ /*
+ * XXX If the node times are in Jan 1, 1970, then
+ * update them to the boot time.
+ * When we made the node, the date/time was not yet known.
+ */
+ if(file_node->ctime.tv_sec < (24 * 3600))
{
- TIMEVAL_TO_TIMESPEC(&boottime,&(vap->va_atime));
+ TIMEVAL_TO_TIMESPEC(&boottime,&(file_node->ctime));
+ TIMEVAL_TO_TIMESPEC(&boottime,&(file_node->mtime));
+ TIMEVAL_TO_TIMESPEC(&boottime,&(file_node->atime));
}
+ vap->va_ctime = file_node->ctime;
+ vap->va_mtime = file_node->mtime;
+ vap->va_atime = file_node->atime;
vap->va_gen = 0;
vap->va_flags = 0;
- vap->va_bytes = file_node->len; /* u_quad_t */
+ vap->va_bytes = file_node->len; /* u_quad_t */
vap->va_filerev = 0; /* XXX */ /* u_quad_t */
vap->va_vaflags = 0; /* XXX */
return 0;
OpenPOWER on IntegriCloud