freebsd-nq/sys
Matthew Dillon 2a31267e43 This is a major fixup of unionfs. At least 30 serious bugs have been
fixed (many due to changing semantics in other parts of the kernel and not
    the original author's fault), including one critical one: unionfs could
    cause UFS corruption in the fronting store due to calling VOP_OPEN for
    writing without turning on vmio for the UFS vnode.

    Most of the bugs were related to semantics changes in VOP calls, lock
    ordering problems (causing deadlocks), improper handling of a read-only
    backing store (such as an NFS mount), improper referencing and locking
    of vnodes, not using real struct locks for vnode locking, not using
    recursive locks when accessing the fronting store, and things like that.

    New functionality has been added:  unionfs now has mmap() support, but
    only partially tested, and rename has been enhanced considerably.

    There are still some things that unionfs cannot do.   You cannot
    rename a directory without confusing unionfs, and there are issues
    with softlinks, hardlinks, and special files.  unionfs mostly doesn't
    understand them (and never did).

    There are probably still panic situations, but hopefully no where near
    as many as before this commit.

    The unionfs in this commit has been tested overlayed on /usr/src
    (backing /usr/src being a read-only NFS mount, fronting /usr/src being
    a local filesystem).  kernel builds have been tested, buildworld is
    undergoing testing.  More testing is necessary.
1999-09-26 20:52:41 +00:00
..
alpha bdbtofsb() appears to have been unused for quite some time, if ever. 1999-09-26 18:56:43 +00:00
amd64 Fix from Tor so that if we enter the debugger in the tristate going to 1999-09-25 18:36:31 +00:00
boot - Fixed DMA 64k boundary problem. 1999-09-23 03:57:16 +00:00
cam Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
coda Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
compat This patch clears the way for removing a number of tty related 1999-09-25 16:21:39 +00:00
compile Stop cvs up -P from removing empty compile directories. 1994-08-25 16:20:16 +00:00
conf Oops! I enabled SOFTUPDATES by accident. 1999-09-25 11:28:18 +00:00
contrib Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
ddb $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
dev Update the Starfire driver comments and man page to include the URL of 1999-09-26 18:35:30 +00:00
fs This is a major fixup of unionfs. At least 30 serious bugs have been 1999-09-26 20:52:41 +00:00
geom Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
gnu Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
i4b Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
i386 GC bdbtofsb() 1999-09-26 19:05:39 +00:00
isa Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
isofs/cd9660 More removals of vnode->v_lastr, replaced by preexisting seqcount 1999-09-20 23:27:58 +00:00
kern Change explicit use of the queue fields into use of the definitions 1999-09-26 18:48:53 +00:00
libkern $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
miscfs This is a major fixup of unionfs. At least 30 serious bugs have been 1999-09-26 20:52:41 +00:00
modules Minor tidy up of PPP_FILTER and NBPF stuff. Don't generate bpf.h in the 1999-09-26 18:44:29 +00:00
msdosfs More removals of vnode->v_lastr, replaced by preexisting seqcount 1999-09-20 23:27:58 +00:00
net Minor tidy up of PPP_FILTER and NBPF stuff. Don't generate bpf.h in the 1999-09-26 18:44:29 +00:00
netatalk Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
netatm Fixed printf format errors (don't assume that ntohl() returns u_long; 1999-08-29 10:28:10 +00:00
netinet Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
netipx Get rid of the old XNS checksum code and implement it the IPX way. 1999-08-28 18:21:55 +00:00
netkey Fix a printf(3) formatter to match its variable. 1999-08-17 22:11:02 +00:00
netnatm Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
netns $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfs Add comment to clarify a commit rpc optimization already being performed. 1999-09-20 19:10:28 +00:00
nfsclient Add comment to clarify a commit rpc optimization already being performed. 1999-09-20 19:10:28 +00:00
nfsserver Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00
ntfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
pc98 Merge from sys/i386/isa/spkr.c revision 1.37 and 1.39. 1999-09-26 03:24:37 +00:00
pccard Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
pci Update the Starfire driver comments and man page to include the URL of 1999-09-26 18:35:30 +00:00
posix4 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
powerpc Fix bug in pipe code relating to writes of mmap'd but illegal address 1999-09-20 19:08:48 +00:00
rpc $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
svr4 This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
sys Move the declaration of panic() from sys/systm.h to sys/param.h. 1999-09-26 18:19:49 +00:00
tools Update this to be able to output ASSERT_VOP_(UN)LOCKED() based on the 1999-09-26 18:31:51 +00:00
ufs Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
vm Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
Makefile $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00