1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-04 12:52:15 +00:00

A few bug fixes for Robert Watson

This commit is contained in:
Robert V. Baron 1998-11-16 19:48:26 +00:00
parent 7a94149e37
commit b3a2ec1e44
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=41202
4 changed files with 48 additions and 10 deletions

View File

@ -27,7 +27,7 @@
* Mellon the rights to redistribute these changes without encumbrance.
*
* @(#) src/sys/cfs/coda_vfsops.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $
* $Id: coda_vfsops.c,v 1.7 1998/09/29 20:19:45 rvb Exp $
* $Id: coda_vfsops.c,v 1.8 1998/11/03 08:55:06 peter Exp $
*
*/
@ -47,6 +47,15 @@
/*
* HISTORY
* $Log: coda_vfsops.c,v $
* Revision 1.8 1998/11/03 08:55:06 peter
* Support KLD. We register and unregister two modules. "coda" (the vfs)
* via VFS_SET(), and "codadev" for the cdevsw entry. From kldstat -v:
* 3 1 0xf02c5000 115d8 coda.ko
* Contains modules:
* Id Name
* 2 codadev
* 3 coda
*
* Revision 1.7 1998/09/29 20:19:45 rvb
* Fixes for lkm:
* 1. use VFS_LKM vs ACTUALLY_LKM_NOT_KERNEL
@ -427,6 +436,7 @@ coda_unmount(vfsp, mntflags, p)
vrele(mi->mi_rootvp);
active = coda_kill(vfsp, NOT_DOWNCALL);
mi->mi_rootvp->v_flag &= ~VROOT;
error = vflush(mi->mi_vfsp, NULLVP, FORCECLOSE);
printf("coda_unmount: active = %d, vflush active %d\n", active, error);
error = 0;
@ -506,7 +516,7 @@ coda_root(vfsp, vpp)
MARK_INT_SAT(CODA_ROOT_STATS);
goto exit;
} else if (error == ENODEV) {
} else if (error == ENODEV || error == EINTR) {
/* Gross hack here! */
/*
* If Venus fails to respond to the CODA_ROOT call, coda_call returns

View File

@ -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.7 1998/10/25 17:44:41 phk Exp $
* $Id: coda_vnops.c,v 1.8 1998/10/28 20:31:13 rvb Exp $
*
*/
@ -48,6 +48,13 @@
/*
* HISTORY
* $Log: coda_vnops.c,v $
* Revision 1.8 1998/10/28 20:31:13 rvb
* 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.
*
* 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.
@ -369,10 +376,12 @@ int
coda_vop_error(void *anon) {
struct vnodeop_desc **desc = (struct vnodeop_desc **)anon;
myprintf(("Vnode operation %s called, but not defined\n",
myprintf(("coda_vop_error: Vnode operation %s called, but not defined.\n",
(*desc)->vdesc_name));
/*
panic("coda_vop_error");
return 0;
*/
return EIO;
}
/* A generic do-nothing. For lease_check, advlock */

View File

@ -27,7 +27,7 @@
* Mellon the rights to redistribute these changes without encumbrance.
*
* @(#) src/sys/cfs/coda_vfsops.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $
* $Id: coda_vfsops.c,v 1.7 1998/09/29 20:19:45 rvb Exp $
* $Id: coda_vfsops.c,v 1.8 1998/11/03 08:55:06 peter Exp $
*
*/
@ -47,6 +47,15 @@
/*
* HISTORY
* $Log: coda_vfsops.c,v $
* Revision 1.8 1998/11/03 08:55:06 peter
* Support KLD. We register and unregister two modules. "coda" (the vfs)
* via VFS_SET(), and "codadev" for the cdevsw entry. From kldstat -v:
* 3 1 0xf02c5000 115d8 coda.ko
* Contains modules:
* Id Name
* 2 codadev
* 3 coda
*
* Revision 1.7 1998/09/29 20:19:45 rvb
* Fixes for lkm:
* 1. use VFS_LKM vs ACTUALLY_LKM_NOT_KERNEL
@ -427,6 +436,7 @@ coda_unmount(vfsp, mntflags, p)
vrele(mi->mi_rootvp);
active = coda_kill(vfsp, NOT_DOWNCALL);
mi->mi_rootvp->v_flag &= ~VROOT;
error = vflush(mi->mi_vfsp, NULLVP, FORCECLOSE);
printf("coda_unmount: active = %d, vflush active %d\n", active, error);
error = 0;
@ -506,7 +516,7 @@ coda_root(vfsp, vpp)
MARK_INT_SAT(CODA_ROOT_STATS);
goto exit;
} else if (error == ENODEV) {
} else if (error == ENODEV || error == EINTR) {
/* Gross hack here! */
/*
* If Venus fails to respond to the CODA_ROOT call, coda_call returns

View File

@ -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.7 1998/10/25 17:44:41 phk Exp $
* $Id: coda_vnops.c,v 1.8 1998/10/28 20:31:13 rvb Exp $
*
*/
@ -48,6 +48,13 @@
/*
* HISTORY
* $Log: coda_vnops.c,v $
* Revision 1.8 1998/10/28 20:31:13 rvb
* 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.
*
* 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.
@ -369,10 +376,12 @@ int
coda_vop_error(void *anon) {
struct vnodeop_desc **desc = (struct vnodeop_desc **)anon;
myprintf(("Vnode operation %s called, but not defined\n",
myprintf(("coda_vop_error: Vnode operation %s called, but not defined.\n",
(*desc)->vdesc_name));
/*
panic("coda_vop_error");
return 0;
*/
return EIO;
}
/* A generic do-nothing. For lease_check, advlock */