Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Sep 1999 13:52:42 -0700 (PDT)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/miscfs/union union.h union_subr.c union_vfsops.c union_vnops.c
Message-ID:  <199909262052.NAA13637@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      1999/09/26 13:52:42 PDT

  Modified files:
    sys/miscfs/union     union.h union_subr.c union_vfsops.c 
                         union_vnops.c 
  Log:
      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.
  
  Revision  Changes    Path
  1.15      +37 -10    src/sys/miscfs/union/union.h
  1.40      +349 -197  src/sys/miscfs/union/union_subr.c
  1.36      +58 -68    src/sys/miscfs/union/union_vfsops.c
  1.64      +818 -588  src/sys/miscfs/union/union_vnops.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909262052.NAA13637>