fs/unionfs/commonfops.c  |   72 ++++++++++++++++++++++++---------------------
 fs/unionfs/copyup.c      |   34 ++++++++++++++-------
 fs/unionfs/dentry.c      |    9 ++++-
 fs/unionfs/inode.c       |   47 ++++++++++++++----------------
 fs/unionfs/mmap.c        |   31 ++++++++++++++++++--
 fs/unionfs/union.h       |    1 -
 fs/unionfs/xattr.c       |   18 ++---------
 include/linux/union_fs.h |    3 --
 8 files changed, 122 insertions(+), 93 deletions(-)

New commits:
commit 63317ffc4b7dab03d8441de09043c5eab0f5e7bc
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Wed Aug 1 10:29:42 2007 -0400

    Unionfs: check for immutable files before read-only branches
    
    Immutable files should never be allowed to be copied-up on write, even if
    they're on read-only file systems or branches.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit efe8b0e162bf45925a666ccf78219eee4d1a80e1
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 22:36:17 2007 -0400

    Unionfs: extended attributes not yet supported in 2.6.18
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit cb717d87ac222f8fc5158a6ce02a0d00c944cd2c
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 19:25:55 2007 -0400

    Unionfs: mmap fixes to unionfs_writepage
    
    Don't call unlock_page on lower_page unless lower ->writepage failed.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit 973e213cb965a68c1a27c97a38f3d8e5e7d3cc80
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 18:12:25 2007 -0400

    Unionfs: rewrite cleanup_file more cleanly
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit 3df41aa3c3680a83fdb96ec1b3db670ddff86229
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 03:58:50 2007 -0400

    Unionfs: improved printk upon copyup
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit 9110d251560331ef0895b3980092cf96f3e166b3
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 03:53:47 2007 -0400

    Unionfs: xattr copyup fixes
    
    Rewrote xattr copyup code more cleanly; documented it better; eliminate one
    possible leak in error path; and ignore another impossible copyup-time error
    which caused fanout invariant violations under memory-pressure conditions.
    
    Don't use vmalloc when allocating xattr buffers, as the VFS no longer does
    so (just use kmalloc).  Eliminate unionfs_xattr_free which is now just plain
    kfree.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit 9a4f8dc53073daea506bb238cc6785bd1d598f7c
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 03:33:24 2007 -0400

    Unionfs: fixes to cache-coherency checking code
    
    Under memory pressure, in_newer_lower could be called on uninitialized
    dentries or inodes.  So return 0 safely in that case (rather than oops).
    This is OK because is_newer_lower will be called again on the same object(s)
    and cache-coherency will be validated and maintained then.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit 576046fb38d92a4db98ca95ac3508f0189e51871
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Tue Jul 31 03:29:50 2007 -0400

    Unionfs: mmap fixes to unionfs_writepage
    
    This patch fixes hangs when calling sync(2) on memory-pressured systems.
    
    Call find_lock_page instead of grab_cache_page.  We used to call
    grab_cache_page(), but that was unnecessary as it would have tried to create
    a new lower page if it didn't exist, leading to deadlocks (esp. under
    memory-pressure conditions, when it is really a bad idea to *consume* more
    memory).  Instead, we assume the lower page exists, and if we can find it,
    then we ->writepage on it; if we can't find it, then it couldn't have
    disappeared unless the kernel already flushed it, in which case we're still
    OK.  This is especially correct if wbc->sync_mode is WB_SYNC_NONE (as per
    Documentation/filesystems/vfs.txt).  If we can't flush our page because we
    can't find a lower page, then at least we re-mark our page as dirty, and
    return AOP_WRITEPAGE_ACTIVATE as the VFS expects us to.  (Note, if in the
    future it'd turn out that we have to find a lower page no matter what, then
    we'd have to resort to RAIF's page pointer flipping trick.)
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

commit 53d8f08cc92302ecc5e59ac4101f51169de76494
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Thu Jul 26 00:04:58 2007 -0400

    Unionfs: bugfix when mounting readonly exported NFS volumes (was: nfsro)
    
    When stacking on top of readonly exported NFS volumes, which are mounted
    locally read-write, attempting to create a new file yields the proper EROFS.
    But attempting to modify an existing file returns an EACCES, which
    interferes with unionfs's copyup policy: only EROFS triggers a copyup,
    whereas EACCES does not (and shouldn't -- that'd be a security hole).  The
    old unionfs 1.x attempted to workaround this EACCES condition by supporting
    a special unionfs mount option called 'nfsro'; support for this option was
    left in the latest unionfs 2.0, but the mount option was not made available
    until we could properly investigate this issue with the latest NFS code.
    
    This patch removes all remnants of this 'nfsro' support.  It is no longer
    needed.  Instead, users can use the existing per-branch 'ro' unionfs mount
    option, which would properly return the appropriate status conditions back
    from unionfs_permission.  These return conditions result in a copyup if and
    only if needed, even for readonly exported NFS volumes.  In effect, unionfs
    per-branch 'ro' option now simulates a true readonly localhost mount.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

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

Reply via email to