fs/unionfs/Makefile     |    8 +
 fs/unionfs/commonfops.c |   98 +++++++++----
 fs/unionfs/copyup.c     |  137 ++++++++++++------
 fs/unionfs/debug.c      |  361 +++++++++++++++++++++++++++++++++++++++++++++++
 fs/unionfs/dentry.c     |    3 
 fs/unionfs/file.c       |    3 
 fs/unionfs/inode.c      |   74 ++++++++--
 fs/unionfs/odf.c        |    3 
 fs/unionfs/rename.c     |   43 +++++-
 fs/unionfs/union.h      |   80 +++++++++-
 fs/unionfs/unlink.c     |    8 +
 fs/unionfs/xattr.c      |    4 +
 12 files changed, 715 insertions(+), 107 deletions(-)

New commits:
commit 71ae77f9e01b1f3f6f248600295d012fc7c0474a
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sat May 19 17:15:54 2007 -0400

    fixed some minor issues after applying erez's patches

commit 3c458843dd4349ed38f83c6bc5ca412e85ce467d
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sat May 19 17:04:49 2007 -0400

    whitespace cleanup

commit 5fa8b93371bba845c2a16cf461147baca5b37be4
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sat May 19 17:03:20 2007 -0400

    cleanup: eliminate wrapper function create_parents
    
    Eliminate simple wrapper function create_parents which trivially called
    create_parents_named with one more arg derived from the caller.  Instead,
    remove the wrapper, rename create_parents_named to create_parents, and make
    everyone call create_parents directly.  This clarifies the code a bit more
    and saves a bit on stack space.
    
    Conflicts:
    
        fs/unionfs/inode.c
        fs/unionfs/subr.c

commit 95dba60de607dd8d2cbef9e147e0e5116d56da96
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sat May 19 16:52:03 2007 -0400

    cleanup: eliminate wrapper function copyup_dentry
    
    Eliminate simple wrapper function copyup_dentry which trivially called
    copyup_named_dentry with 2 more args derived from the caller.  Instead,
    remove the wrapper, rename copyup_named_dentry to copyup_dentry, and make
    everyone call copyup_dentry directly.  This clarifies the code a bit more
    and saves a bit on stack space.
    
    Conflicts:
    
        fs/unionfs/inode.c
        fs/unionfs/rename.c

commit 5140dc5847ff205018593205576b8539629d8e12
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 03:07:37 2007 -0400

    cleanup: rewrite do_delayed_copyup more cleanly and clearly

commit ace4846cef0dcca206364d11add98060e42b8ad9
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 02:18:44 2007 -0400

    debugging: small fix to Makefile to correct #define typo

commit 02c189a486f4ae5ce7bdc78ce255e10f71c05d1b
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 01:56:08 2007 -0400

    cleanup: remove unnecessary macro used in only one place
    
    Remove the UNIONFS_TMPNAM_LEN macro and just use the actual length of the
    string file name in question, which is more efficient (and correct).

commit a858290d396cd5aeec363f1e0ae8595effe92e70
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 01:53:12 2007 -0400

    bug fix: don't revalidate dropped dentries
    
    This fixes a harmless but annoying message that unionfs prints if a dropped
    dentry is being revalidated, which could happen if you unlink open files.

commit b21dc483d70a6860dda0380dfae253717eb2f0c3
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 01:45:18 2007 -0400

    bug fix: retry lookup for different silly-renamed files
    
    When we have to copyup an open-but-unlinked file, we have to give it a
    temporary name, similar to NFS's silly-renamed files.  So we generate
    temporary file names until we find one that doesn't exist, and use it.  The
    code had a bug where if the silly-renamed file name already existed, Unionfs
    would oops upon copyup to that temp name.

commit c45774f0317460421b1bd76b6c296a9d9f5dd73b
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 01:41:04 2007 -0400

    Documentation: better comments for copyup-related code

commit b736a6881f199d38364624cb1283dce5ce70144c
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sat May 19 16:41:10 2007 -0400

    Verify and maintain fanout invariants.
    
    This somewhat long patch calls various invariant-checking (debugging)
    functions in all places where the fanout invariants should hold.  The three
    invariant-checking functions, __unionfs_check_{inode,dentry,file}, perform
    exhaustive sanity checking on the fan-out of various Unionfs objects.  We
    check that no lower objects exist outside the start/end branch range; that
    all objects within are non-NULL (with some allowed exceptions); that for
    every lower file there's a lower dentry+inode; that the start/end ranges
    match for all corresponding lower objects; that open files/symlinks have
    only one lower objects, but directories can have several; and more.
    
    The rest of this patch actually fixes many places where these invariants did
    not hold, which could lead to bugs or corruptions under heavy loads,
    multi-threaded workloads, dynamic branch-management, and mmap operations.
    Most of the bugs related to actions involving copyups and whiteouts.  With
    these fixes, the entire Unionfs regression suite passes without a single
    invariant violated.
    
    Conflicts:
    
        fs/unionfs/commonfops.c
        fs/unionfs/file.c
        fs/unionfs/inode.c
        fs/unionfs/unlink.c

commit 2ba07d890a159c895a622c2dc5dfef1216cc1c85
Author: Erez Zadok <[EMAIL PROTECTED](none)>
Date:   Fri May 18 01:31:14 2007 -0400

    Post-copyup helper functions
    
    Two functions which are very useful to execute common actions needed after a
    copy-up had taken place.

commit 07ec5e10b8b6e010ca87d0538b7f088f5c7e0243
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sat May 19 16:27:25 2007 -0400

    Introduce compile-time debugging support to Unionfs
    
    Similar to other file systems, to turn on debugging, one is asked to change
    the Makefile slightly.  The vast majority of the debugging utility functions
    are in debug.c.  They are useful for developers and users to report to
    developers.  The main code has some very useful hooks left behind that are
    non-intrusive and cleaner (i.e., no "ifdef DEBUG" clutter).
    
    Conflicts:
    
        fs/unionfs/union.h

_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to