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:
parent
7a94149e37
commit
b3a2ec1e44
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=41202
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user