diff options
author | rvb <rvb@FreeBSD.org> | 1998-10-28 20:31:13 +0000 |
---|---|---|
committer | rvb <rvb@FreeBSD.org> | 1998-10-28 20:31:13 +0000 |
commit | dc7a9e560ac1e8675641456afa252791270ec714 (patch) | |
tree | 74ce2ec5a5e0975fdab61f5fcf4ca397bfeee3b2 /sys/coda/coda_vnops.c | |
parent | ff30297a7a9c12c0292e418588206a945e4aeae5 (diff) | |
download | FreeBSD-src-dc7a9e560ac1e8675641456afa252791270ec714.zip FreeBSD-src-dc7a9e560ac1e8675641456afa252791270ec714.tar.gz |
Change the way unmounting happens to guarantee that the
client programs are allowed to finish up (coda_call is
forced to complete) and release their locks. Thus there
is a reasonable chance that the vflush implicit in the
unmount will not get hung on held locks.
Diffstat (limited to 'sys/coda/coda_vnops.c')
-rw-r--r-- | sys/coda/coda_vnops.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/coda/coda_vnops.c b/sys/coda/coda_vnops.c index c3225d0..bcf713d 100644 --- a/sys/coda/coda_vnops.c +++ b/sys/coda/coda_vnops.c @@ -27,7 +27,7 @@ * Mellon the rights to redistribute these changes without encumbrance. * * @(#) src/sys/coda/coda_vnops.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ - * $Id: coda_vnops.c,v 1.6 1998/09/28 20:52:58 rvb Exp $ + * $Id: coda_vnops.c,v 1.7 1998/10/25 17:44:41 phk Exp $ * */ @@ -48,6 +48,10 @@ /* * HISTORY * $Log: coda_vnops.c,v $ + * Revision 1.7 1998/10/25 17:44:41 phk + * Nitpicking and dusting performed on a train. Removes trivial warnings + * about unused variables, labels and other lint. + * * Revision 1.6 1998/09/28 20:52:58 rvb * Cleanup and fix THE bug * @@ -527,7 +531,12 @@ coda_close(v) printf("coda_close: destroying container ref %d, ufs vp %p of vp %p/cp %p\n", vp->v_usecount, cp->c_ovp, vp, cp); #endif +#ifdef hmm vgone(cp->c_ovp); +#else + VOP_CLOSE(cp->c_ovp, flag, cred, p); /* Do errors matter here? */ + vrele(cp->c_ovp); +#endif } else { #ifdef CODA_VERBOSE printf("coda_close: NO container vp %p/cp %p\n", vp, cp); |