diff options
author | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
---|---|---|
committer | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
commit | 5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch) | |
tree | e779b5a6edddbb949b7990751b12d6f25304ba86 /sys/nfs/nfs_vnops.c | |
parent | a16f65c7d117419bd266c28a1901ef129a337569 (diff) |
Diffstat (limited to 'sys/nfs/nfs_vnops.c')
-rw-r--r-- | sys/nfs/nfs_vnops.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index b5548e751576..0066b77b13b6 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * From: @(#)nfs_vnops.c 7.60 (Berkeley) 5/24/91 - * $Id: nfs_vnops.c,v 1.7 1994/01/31 23:40:50 martin Exp $ + * $Id: nfs_vnops.c,v 1.8 1994/06/14 03:41:10 davidg Exp $ */ /* @@ -278,9 +278,19 @@ nfs_open(vp, mode, cred, p) register enum vtype vtyp; vtyp = vp->v_type; - if (vtyp == VREG || vtyp == VDIR || vtyp == VLNK) + if (vtyp == VREG || vtyp == VDIR || vtyp == VLNK) { + struct nfsnode *np; + struct vattr vattr; + np = VTONFS(vp); + if (nfs_dogetattr(vp, &vattr, cred, 1, p) == 0) { + if (np->n_mtime != vattr.va_mtime.tv_sec) { + np->n_direofoffset = 0; + vinvalbuf(vp, TRUE); + np->n_mtime = vattr.va_mtime.tv_sec; + } + } return (0); - else + } else return (EACCES); } |