summaryrefslogtreecommitdiffstats
path: root/sys/coda/coda_vnops.c
diff options
context:
space:
mode:
authorrvb <rvb@FreeBSD.org>1998-10-28 20:31:13 +0000
committerrvb <rvb@FreeBSD.org>1998-10-28 20:31:13 +0000
commitdc7a9e560ac1e8675641456afa252791270ec714 (patch)
tree74ce2ec5a5e0975fdab61f5fcf4ca397bfeee3b2 /sys/coda/coda_vnops.c
parentff30297a7a9c12c0292e418588206a945e4aeae5 (diff)
downloadFreeBSD-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.c11
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);
OpenPOWER on IntegriCloud