[GIT PULL -mm] 00/12 Unionfs updates/fixes/cleanups

From: Erez Zadok
Date: Fri Apr 25 2008 - 18:25:46 EST



The following is a series of patchsets related to Unionfs. It includes
fixes to a few races discovered since moving to vm_ops->fault, and one small
optimiztion (skip copyup for when a file is opened for writing but no
writing takes place).

These patches were tested (where appropriate) on v2.6.25-4569-gb69d398, MM
(mmotm 2008-04-19-01-17), as well as the backports to
2.6.{25,24,23,22,21,20,19,18,9} on ext2/3/4, xfs (limited testing -- xfs was
oopsing a lot), reiserfs, nfs2/3/4, jffs2, ramfs, tmpfs, cramfs, and
squashfs (where available). Also tested with LTP-full-20080229 and with a
continuous parallel kernel compile (while forcing cache flushing,
manipulating lower branches, etc.). See http://unionfs.filesystems.org/ to
download back-ported unionfs code.

Please pull from the 'master' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/ezk/unionfs.git

to receive the following:

Erez Zadok (12):
Unionfs: minor code cleanups
Unionfs: prevent races in unionfs_fault
Unionfs: copy lower times in fsync/fasync only when needed
Unionfs: lock inode around calls to notify_change()
Unionfs: stop as soon as first writeable branch is found
Unionfs: don't dereference dentry without lower branches in d_release
Unionfs: set append offset correctly for copied-up files
Unionfs: copyup only if file is being written to
Unionfs: reorganize file_revalidate for un/locking callers
Unionfs: maintain one-open-file invariant for non-directories
Unionfs: set lower file to NULL in file_release
Unionfs: lock parent dentry branch config in write

commonfops.c | 248 ++++++++++++++++++++++++++++++++++++++---------------------
copyup.c | 2
dentry.c | 4
file.c | 32 +++----
inode.c | 43 ++++------
mmap.c | 21 +++-
union.h | 2
7 files changed, 216 insertions(+), 136 deletions(-)

Thanks.
---
Erez Zadok
ezk@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/