freebsd-dev/sys
KATO Takenori 9095719e2b Quick-hack to avoid `lock against myself' panic. It is not the real
fix!

The ufs_link() assumes that vnode is not unlocked and tries to lock it
in certain case.  Because union_link calls VOP_LINK after locking vnode,
vn_lock in ufs_link causes above panic.

Currently, I don't know the real fix for a locking violation in
union_link, but I think it is important to avoid panic.

A vnode is unlocked before calling VOP_LINK and is locked after it if
the vnode is not union fs.  Even though panic went away, the process
that access the union fs in which link was made will hang-up.

Hang-up can be easily reproduced by following operation:

	mount -t union a b
	cd b
	ln foo bar
	ls
1997-04-15 12:56:57 +00:00
..
alpha Removed unused #includes. 1997-04-09 15:34:09 +00:00
amd64 Forget all about APM. Instead of "hlt" call through a vector which 1997-04-14 18:12:05 +00:00
compat/linux Remove dependancy on UFS' DIRBLKSIZ definition. 1997-04-06 10:10:50 +00:00
compile
conf Synchronize with sys/i386/conf/files.i386 revision 1.159. 1997-04-15 11:43:10 +00:00
ddb Everyone's favorite, i think: make DDB understand the arrow keys for the 1997-04-12 17:35:02 +00:00
dev Re-arange the selection and reselection code to hopefully kill the 1997-04-14 02:26:59 +00:00
fs Quick-hack to avoid `lock against myself' panic. It is not the real 1997-04-15 12:56:57 +00:00
geom Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
gnu Support NFS cookies in VOP_READDIR, allowing ext2fs filesystems to be 1997-04-05 12:23:44 +00:00
i386 Forget all about APM. Instead of "hlt" call through a vector which 1997-04-14 18:12:05 +00:00
isa Preserve some bits in the keyboard controller command byte when 1997-04-10 12:26:50 +00:00
isofs/cd9660 Removed more traces of ISODEVMAP. 1997-04-15 08:05:08 +00:00
kern #include <sys/queue.h> 1997-04-14 18:23:48 +00:00
libkern Eliminate some function calls when locale not used 1997-04-04 19:08:19 +00:00
miscfs Quick-hack to avoid `lock against myself' panic. It is not the real 1997-04-15 12:56:57 +00:00
modules Make MOD_* macros almost consistent: 1997-04-06 11:14:13 +00:00
msdosfs Get the declaration of `struct dirent' from <sys/dirent.h>, not from 1997-04-10 14:56:49 +00:00
net Use LIST macros instead of insque/remque 1997-04-14 18:23:25 +00:00
netatalk Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
netinet Make MOD_* macros almost consistent: 1997-04-06 11:14:13 +00:00
netipx Change IPX to use the pr_usrreqs structure. 1997-04-05 20:05:11 +00:00
netkey This is the `netkey' kernel key-management service (the PF_KEY analogue 1996-06-14 17:22:18 +00:00
netns Remove unneeded member nsp_head from struct nspcb. 1997-04-14 18:26:51 +00:00
nfs Fix various bugs in the locking protocol, allowing proper shared locks 1997-04-04 17:49:35 +00:00
nfsclient Fix various bugs in the locking protocol, allowing proper shared locks 1997-04-04 17:49:35 +00:00
nfsserver Fix various bugs in the locking protocol, allowing proper shared locks 1997-04-04 17:49:35 +00:00
pc98 Synchronize with sys/i386/i386/trap.c revision 1.92. 1997-04-15 11:49:00 +00:00
pccard Make MOD_* macros almost consistent: 1997-04-06 11:14:13 +00:00
pci Recognize ZNYX 314 cards that have a MAC address with the low bit set. 1997-04-05 07:59:41 +00:00
powerpc/include Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
rpc Revert $FreeBSD$ to $Id$ 1997-02-23 09:21:14 +00:00
scsi Implement dkstats for worm devices so they show up in iostat et al. 1997-04-04 22:12:55 +00:00
sys Add LIST_FIRST, LIST_FOREACH and LIST_NEXT 1997-04-14 18:22:02 +00:00
tools Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ufs Use smalllblktosize() instead of multiplying small block numbers 1997-04-10 13:17:09 +00:00
vm Unused variable (upobj is now purely handled within pmap) 1997-04-14 03:40:42 +00:00
Makefile Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00