summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs/msdosfs_denode.c
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1995-08-02 13:00:40 +0000
committerdfr <dfr@FreeBSD.org>1995-08-02 13:00:40 +0000
commit2025cfa67f37a6a4ec6c895380fddda501d5b899 (patch)
treeb6b5b0b3ed6cbb9f8d1d11cc5778ce4ed8c52588 /sys/msdosfs/msdosfs_denode.c
parent2fcbb0e5924dba4835a362cf48e446d11a9a4b87 (diff)
downloadFreeBSD-src-2025cfa67f37a6a4ec6c895380fddda501d5b899.zip
FreeBSD-src-2025cfa67f37a6a4ec6c895380fddda501d5b899.tar.gz
Add support for the va_filerev attribute required by NFSv3.
Diffstat (limited to 'sys/msdosfs/msdosfs_denode.c')
-rw-r--r--sys/msdosfs/msdosfs_denode.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/sys/msdosfs/msdosfs_denode.c b/sys/msdosfs/msdosfs_denode.c
index 60a6811..2635ac1 100644
--- a/sys/msdosfs/msdosfs_denode.c
+++ b/sys/msdosfs/msdosfs_denode.c
@@ -1,4 +1,4 @@
-/* $Id: msdosfs_denode.c,v 1.11 1995/04/11 17:13:17 bde Exp $ */
+/* $Id: msdosfs_denode.c,v 1.12 1995/05/30 08:07:37 rgrimes Exp $ */
/* $NetBSD: msdosfs_denode.c,v 1.9 1994/08/21 18:44:00 ws Exp $ */
/*-
@@ -70,6 +70,23 @@ struct denode **dehashtbl;
u_long dehash; /* size of hash table - 1 */
#define DEHASH(dev, deno) (((dev) + (deno)) & dehash)
+union _qcvt {
+ quad_t qcvt;
+ long val[2];
+};
+#define SETHIGH(q, h) { \
+ union _qcvt tmp; \
+ tmp.qcvt = (q); \
+ tmp.val[_QUAD_HIGHWORD] = (h); \
+ (q) = tmp.qcvt; \
+}
+#define SETLOW(q, l) { \
+ union _qcvt tmp; \
+ tmp.qcvt = (q); \
+ tmp.val[_QUAD_LOWWORD] = (l); \
+ (q) = tmp.qcvt; \
+}
+
int msdosfs_init()
{
dehashtbl = hashinit(desiredvnodes/2, M_MSDOSFSMNT, &dehash);
@@ -297,6 +314,8 @@ deget(pmp, dirclust, diroffset, direntptr, depp)
}
} else
nvp->v_type = VREG;
+ SETHIGH(ldep->de_modrev, mono_time.tv_sec);
+ SETLOW(ldep->de_modrev, mono_time.tv_usec * 4294);
VREF(ldep->de_devvp);
*depp = ldep;
return 0;
OpenPOWER on IntegriCloud