freebsd-dev/sys/fs
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
..
cd9660 More removals of vnode->v_lastr, replaced by preexisting seqcount 1999-09-20 23:27:58 +00:00
coda Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
deadfs $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
fdescfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
fifofs $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
msdosfs More removals of vnode->v_lastr, replaced by preexisting seqcount 1999-09-20 23:27:58 +00:00
ntfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
nullfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
portalfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
procfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
specfs Remove a warning check which was too general. 1999-09-25 18:52:03 +00:00
umapfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
unionfs This is a major fixup of unionfs. At least 30 serious bugs have been 1999-09-26 20:52:41 +00:00