unionfs-2.6.18.y.git
15 years agoUnionfs: Release 2.5.5 unionfs-2.5.5
Erez Zadok [Wed, 11 Aug 2010 05:58:21 +0000 (01:58 -0400)]
Unionfs: Release 2.5.5

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: Release 2.5.4 unionfs-2.5.4
Erez Zadok [Fri, 26 Feb 2010 01:37:49 +0000 (20:37 -0500)]
Unionfs: Release 2.5.4

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: update copyright year to 2010
Erez Zadok [Fri, 26 Feb 2010 01:25:15 +0000 (20:25 -0500)]
Unionfs: update copyright year to 2010

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: unlock lower parent inode correctly on error path
Erez Zadok [Fri, 4 Dec 2009 00:19:01 +0000 (19:19 -0500)]
Unionfs: unlock lower parent inode correctly on error path

Bug fix: on some errors, lower directory inode may remain locked and hold a
reference.  This was in ->create, ->symlink, and ->mknod.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: Release 2.5.3 unionfs-2.5.3
Erez Zadok [Tue, 22 Sep 2009 21:55:38 +0000 (17:55 -0400)]
Unionfs: Release 2.5.3

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: fix unix sockets
Erez Zadok [Thu, 24 Sep 2009 02:28:35 +0000 (22:28 -0400)]
Unionfs: fix unix sockets

Properly instantiate them as new inodes.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: don't leak an inode in hardlinks
Erez Zadok [Wed, 23 Sep 2009 05:26:13 +0000 (01:26 -0400)]
Unionfs: don't leak an inode in hardlinks

Set the hardlink'ed inode to the same one as the linked one, instead of
instantiating a new inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: handle an open-unlink-ftruncate sequence
Erez Zadok [Tue, 22 Sep 2009 21:45:59 +0000 (17:45 -0400)]
Unionfs: handle an open-unlink-ftruncate sequence

If someone calls open(), then unlink(), then ftruncate() on a file (rare,
but possible), then it's possible for unionfs to get an unlinked inode which
doesn't have an inode->i_sb and its inode->i_ino is zero.  Don't oops in
that case.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: fix readonly nfs2/3 permission handling
Erez Zadok [Tue, 22 Sep 2009 21:33:27 +0000 (17:33 -0400)]
Unionfs: fix readonly nfs2/3 permission handling

In unionfs_permission: NFSv2/3 return EACCES on readonly-exported, locally
readonly-mounted file systems, instead of EROFS like other file systems do.
So we have no choice here but to intercept this and ignore it for NFS
branches marked readonly.  Specifically, we avoid using NFS's own "broken"
->permission method, and rely on generic_permission() to do basic checking
for us.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: release 2.5.2 unionfs-2.5.2
Erez Zadok [Wed, 10 Jun 2009 16:29:42 +0000 (12:29 -0400)]
Unionfs: release 2.5.2

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: release 2.5.1 unionfs-2.5.1
Erez Zadok [Mon, 19 Jan 2009 02:24:02 +0000 (21:24 -0500)]
Unionfs: release 2.5.1

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: update copyrights for 2009
Erez Zadok [Mon, 19 Jan 2009 03:34:44 +0000 (22:34 -0500)]
Unionfs: update copyrights for 2009

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: create whiteout in correct dir after rename with copyup
Erez Zadok [Mon, 19 Jan 2009 02:02:23 +0000 (21:02 -0500)]
Unionfs: create whiteout in correct dir after rename with copyup

Fixes bug #625: a file renamed/moved into a directory, if resulted in a
copyup with a whiteout creation, could cause the whiteout to be created in
the wrong dir.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: handle partial copyup errors gracefully
Erez Zadok [Tue, 13 Jan 2009 04:03:04 +0000 (23:03 -0500)]
Unionfs: handle partial copyup errors gracefully

Don't leave any dentries behind if copying up the inode (or setting its
permission, i.e., using TOMOYO) failed.

CC: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: release 2.5 unionfs-2.5
Erez Zadok [Sat, 20 Sep 2008 14:55:43 +0000 (10:55 -0400)]
Unionfs: release 2.5

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: copy inode->i_blksize as well as i_blkbits from lower inode
Erez Zadok [Sat, 20 Sep 2008 04:10:13 +0000 (00:10 -0400)]
Unionfs: copy inode->i_blksize as well as i_blkbits from lower inode

Otherwise stat(2) via the union reports zero blocks.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: unionfs_permission locking fixes
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: unionfs_permission locking fixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: file/dentry revalidation fixes
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: file/dentry revalidation fixes

Cleanup unnecessary code, merge functions together, and handle situation
where parent dentry may not be valid.

16 years agoUnionfs: remove unused nameidata parameters
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: remove unused nameidata parameters

In preparation for the VFS removing most/all nameidata from file systems's
view.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: file_release must always succeed
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: file_release must always succeed

Why does f_op->release return an int if the VFS ignores it?!

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: remove redundant file-invariant check in file_revalidate
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: remove redundant file-invariant check in file_revalidate

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: fix readlink/follow_link to add locking
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: fix readlink/follow_link to add locking

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: return EINVAL in setattr on error
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: return EINVAL in setattr on error

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: just warn in put_super instead of BUG-ing
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: just warn in put_super instead of BUG-ing

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agopatch unionfs-cleanup-mntput-calls.patch
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
patch unionfs-cleanup-mntput-calls.patch

16 years agoUnionfs: use dget_parent to keep parent dentry stable
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: use dget_parent to keep parent dentry stable

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: remove unnecessary calls to copy_attr_times
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: remove unnecessary calls to copy_attr_times

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: fix off-by-one but in mkdir
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: fix off-by-one but in mkdir

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: don't open unhashed files
Erez Zadok [Fri, 19 Sep 2008 22:49:21 +0000 (18:49 -0400)]
Unionfs: don't open unhashed files

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: initialize lower mnt in lookup after vfs_path_lookup
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: initialize lower mnt in lookup after vfs_path_lookup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: drop branchcount on error
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: drop branchcount on error

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: add a few more invariant debugging checks
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: add a few more invariant debugging checks

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: update parent mnt on unlink
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: update parent mnt on unlink

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: prevent a privilege escalation during first copyup
Erez Zadok [Fri, 19 Sep 2008 20:06:50 +0000 (16:06 -0400)]
Unionfs: prevent a privilege escalation during first copyup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: revert LTP related fix using d_add/d_instantiate
Erez Zadok [Fri, 19 Sep 2008 22:24:50 +0000 (18:24 -0400)]
Unionfs: revert LTP related fix using d_add/d_instantiate

Revert commit fbeb9bb0290dd12a6f51ccb6a1903995b6d333d4, "Unionfs: properly
hash newly created inodes -- This fixes LTP's syscalls/rename13 test.".  It
breaks 2.6.18 (and possibly older), but is needed for 2.6.19 and newer.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.4 unionfs-2.4
Erez Zadok [Wed, 30 Jul 2008 01:33:45 +0000 (21:33 -0400)]
Unionfs: release 2.4

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: properly hash newly created inodes
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: properly hash newly created inodes

This fixes LTP's syscalls/rename13 test.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: minor checkpatch fixes
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: minor checkpatch fixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: update copyrights
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: update copyrights

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: update maintainers
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: update maintainers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: remove old lookup code
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: remove old lookup code

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: cache coherency fixes
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: cache coherency fixes

Handle unhashed or silly-renamed lower dentries properly.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: free lower paths array when destroying dentry's private data
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: free lower paths array when destroying dentry's private data

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoLTP's iogen01 doio tests used to hang nicely on 32-bit SMP when /tmp was a
Hugh Dickins [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
LTP's iogen01 doio tests used to hang nicely on 32-bit SMP when /tmp was a
unionfs mount of a tmpfs, i_size_read spinning forever, waiting for a lost
seqcount update: fixed by taking i_lock around i_size_write when 32-bit
SMP.

But akpm was dissatisfied with the resulting patch: its lack of
commentary, the #ifs, the nesting around i_size_read, the lack of
attention to i_blocks.  I promised to redo it with the general
spin_lock_32bit() he proposed; but disliked the result, partly because
"32bit" obscures the real constraints, which are best commented within
fsstack_copy_inode_size itself.

This version adds those comments, and uses sizeof comparisons which the
compiler can optimize out, instead of CONFIG_SMP, CONFIG_LSF.
BITS_PER_LONG.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Erez Zadok <ezk@cs.sunysb.edu>
Cc: Michael Halcrow <mhalcrow@us.ibm.com>
Cc: <hooanon05@yahoo.co.jp>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
17 years agoUnionfs: lookup overhaul using vfs_path_lookup
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: lookup overhaul using vfs_path_lookup

Rework the lookup code to use vfs_path_lookup as much as possible, to ensure
that we have a vfsmount at this critical stage.  This is necessary for the
upcoming VFS API change from vfs_* to path_* methods.  This change also
allows unionfs to cross bind mounts and other mounts on lower branches.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoVFS: introduce vfs_path_lookup() from newer kernels
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
VFS: introduce vfs_path_lookup() from newer kernels

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: overhaul whiteout code
Erez Zadok [Mon, 28 Jul 2008 06:51:38 +0000 (02:51 -0400)]
Unionfs: overhaul whiteout code

Move all whiteout functions and helpers into a separate file, replace all
embedded whiteout code with calls to helpers.  Cleanup and consolidate the
code.  This will make it easier to replace the whiteout code with a
Linux-native whiteout implementation (once available).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: simplify stale-inode detection code
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: simplify stale-inode detection code

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: create and consolidate helpers to path-put lower objects
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: create and consolidate helpers to path-put lower objects

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: create and consolidate helpers to iput lower objects
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: create and consolidate helpers to iput lower objects

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: move a rename helper closer to rename code
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: move a rename helper closer to rename code

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: simplify the macros used to get/set the dentry start/end branches
Erez Zadok [Mon, 28 Jul 2008 03:23:49 +0000 (23:23 -0400)]
Unionfs: simplify the macros used to get/set the dentry start/end branches

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: move fs/Makefile entry up to minimize merge conflicts
Erez Zadok [Mon, 28 Jul 2008 03:26:42 +0000 (23:26 -0400)]
Unionfs: move fs/Makefile entry up to minimize merge conflicts

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.3.3 unionfs-2.3.3
Erez Zadok [Wed, 23 Apr 2008 23:42:17 +0000 (19:42 -0400)]
Unionfs: release 2.3.3

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: lock parent dentry branch config in write
Erez Zadok [Wed, 23 Apr 2008 23:18:50 +0000 (19:18 -0400)]
Unionfs: lock parent dentry branch config in write

Ensure that branch configuration is available to file_revalidate should a
copyup be required.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: set lower file to NULL in file_release
Erez Zadok [Wed, 23 Apr 2008 23:18:45 +0000 (19:18 -0400)]
Unionfs: set lower file to NULL in file_release

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: maintain one-open-file invariant for non-directories
Erez Zadok [Wed, 23 Apr 2008 23:18:41 +0000 (19:18 -0400)]
Unionfs: maintain one-open-file invariant for non-directories

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: reorganize file_revalidate for un/locking callers
Erez Zadok [Wed, 23 Apr 2008 23:18:33 +0000 (19:18 -0400)]
Unionfs: reorganize file_revalidate for un/locking callers

Also clean up deep nesting/indentation.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: copyup only if file is being written to
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: copyup only if file is being written to

Before, we used to copyup on an open(2) call which used flags implying
writing (O_RDWR, O_WRONLY, O_APPEND).  This meant that a file being opened
for writing, then immediately closed (without actually writing to the file),
will still have been copied up.  Now, we don't copyup such files in ->open,
but defer the copyup till later. [Bug #591].

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: set append offset correctly for copied-up files
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: set append offset correctly for copied-up files

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: don't dereference dentry without lower branches in d_release
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: don't dereference dentry without lower branches in d_release

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: stop as soon as first writeable branch is found
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: stop as soon as first writeable branch is found

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: lock inode around calls to notify_change()
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: lock inode around calls to notify_change()

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: copy lower times in fsync/fasync only when needed
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: copy lower times in fsync/fasync only when needed

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: minor code cleanups
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: minor code cleanups

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: implement vm_operations->fault
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: implement vm_operations->fault

As per recommendations made at LSF'08, a stackable file system which does
not change the data across layers, should try to use vm_operations instead
of address_space_operations.  This means we now have to implement out own
->read and ->write methods because we cannot rely on VFS helpers which
require us to have a ->readpage method.  Either way there are two caveats:

(1) It's not possible currently to set inode->i_mapping->a_ops to NULL,
because too many code paths expect i_mapping to be non-NULL.

(2) a small/dummy ->readpage is still needed because generic_file_mmap,
which we used in unionfs_mmap, still check for the existence of the
->readpage method.  These code paths may have to be changed to remove the
need for readpage().

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: implement sendfile directly
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: implement sendfile directly

Must implement sendfile, because we can no longer rely on
generic_file_sendfile: it needs the ->readpage address_space_operation
implemented, which we no longer have.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: implement splice_read/write methods directly
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
Unionfs: implement splice_read/write methods directly

Must implement splice_read/write directly, using VFS helpers, because we can
no longer rely on generic_file_splice_read/write: they need
address_space_operations implemented, which we no longer have.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoVFS: rename do_splice_to/from to vfs_splice_* and export symbols
Erez Zadok [Tue, 15 Apr 2008 23:52:03 +0000 (19:52 -0400)]
VFS: rename do_splice_to/from to vfs_splice_* and export symbols

A stackable file system which uses vm_ops->fault, and does not implement
address_space_operations, cannot use generic_file_splice_read/write, but has
to implement ->splice_read/write itself.  These two helper functions are
very useful to such a module.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.3.2 unionfs-2.3.2
Erez Zadok [Tue, 1 Apr 2008 02:32:55 +0000 (22:32 -0400)]
Unionfs: release 2.3.2

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: update lower mnts on rmdir with copyup
Erez Zadok [Mon, 31 Mar 2008 23:16:08 +0000 (19:16 -0400)]
Unionfs: update lower mnts on rmdir with copyup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: don't purge lower sb data on remount
Erez Zadok [Mon, 31 Mar 2008 23:09:49 +0000 (19:09 -0400)]
Unionfs: don't purge lower sb data on remount

This is no longer needed, as we don't have upper and lower pages.  Plus this
was racy, requiring the unexported inode_lock variable.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.3.1 unionfs-2.3.1
Erez Zadok [Thu, 27 Mar 2008 18:05:48 +0000 (14:05 -0400)]
Unionfs: release 2.3.1

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: do not over-decrement lower superblock refs on remount
Erez Zadok [Tue, 25 Mar 2008 23:54:47 +0000 (19:54 -0400)]
Unionfs: do not over-decrement lower superblock refs on remount

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.3 unionfs-2.3
Erez Zadok [Tue, 25 Mar 2008 00:25:25 +0000 (20:25 -0400)]
Unionfs: release 2.3

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: display mount point name along with generation number
Erez Zadok [Mon, 24 Mar 2008 22:34:23 +0000 (18:34 -0400)]
Unionfs: display mount point name along with generation number

CC: Dave Miller <justdave@mozilla.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: document reasons for opaque directories
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
Unionfs: document reasons for opaque directories

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: use noinline_for_stack
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
Unionfs: use noinline_for_stack

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: use __func__ instead of __FUNCTION__
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
Unionfs: use __func__ instead of __FUNCTION__

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: don't copy parent inode times in setattr
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
Unionfs: don't copy parent inode times in setattr

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: reduce number of whiteouts by deleting all instances of files
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
Unionfs: reduce number of whiteouts by deleting all instances of files

Optimize the unlinking of non-dir objects in unionfs by deleting all
possible lower inode objects from all writable lower branches.  This may
consume a bit more processing, but on average reduces overall inode
consumption and further saves a lot by reducing the total number of
whiteouts needed.  We create a whiteout now only if we could not delete all
lower objects, or if one of the lower branches was explicitly marked
read-only.

Signed-off-by: Himanshu Kanda <hkanda@cs.sunysb.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: lock our dentry in file operations
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
Unionfs: lock our dentry in file operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoMD: rename struct path to struct dm_path
Erez Zadok [Sun, 23 Mar 2008 06:48:16 +0000 (02:48 -0400)]
MD: rename struct path to struct dm_path

Avoid conflict with the VFS's struct path, which was back-ported in Unionfs
from later kernels.  This renaming to dm_path was done in 2.6.20 and later
kernels.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.2.4 unionfs-2.2.4
Erez Zadok [Sat, 16 Feb 2008 04:08:17 +0000 (23:08 -0500)]
Unionfs: release 2.2.4

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: use dget_parent in revalidation code
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: use dget_parent in revalidation code

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: branch management/configuration fixes
Erez Zadok [Sat, 16 Feb 2008 02:43:28 +0000 (21:43 -0500)]
Unionfs: branch management/configuration fixes

Remove unnecessary calls to update branch m/ctimes, and use them only when
needed.  Update branch vfsmounts after operations that could cause a copyup.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: lock parents' branch configuration fixes
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: lock parents' branch configuration fixes

Ensure that we lock the branch configuration of parent and child dentries in
operations which need it, and in the right order.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: factor out revalidation routine
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: factor out revalidation routine

To be used by rest of revalidation code, as well a callers who already
locked the child and parent dentry branch-configurations.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: revalidation code cleanup and refactoring
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: revalidation code cleanup and refactoring

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: improve debugging in copy_attr_times
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: improve debugging in copy_attr_times

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: follow_link locking fixes
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: follow_link locking fixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: extend dentry branch configuration lock in open
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: extend dentry branch configuration lock in open

Dentry branch configuration "info node" lock should extend to calls to
copy_attr_times.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: initialize path_save variable
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: initialize path_save variable

This is not strictly necessary, but it helps quiet a gcc-4.2 warning (a good
optimizer may optimize this initialization away).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
17 years agoUnionfs: uninline unionfs_copy_attr_times and unionfs_copy_attr_all
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: uninline unionfs_copy_attr_times and unionfs_copy_attr_all

This reduces text size by about 6k.

Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: document behavior when the lower topology changes
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: document behavior when the lower topology changes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: ensure consistent lower inodes types
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: ensure consistent lower inodes types

When looking up a lower object in multiple branches, especially for
directories, ignore any existing entries whose type is different than the
type of the first found object (otherwise we'll be trying to, say, call
readdir on a non-dir inode).

Signed-off-by: Himanshu Kanda <hkanda@fsl.cs.sunysb.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: grab lower super_block references
Erez Zadok [Sat, 16 Feb 2008 02:38:30 +0000 (21:38 -0500)]
Unionfs: grab lower super_block references

This prevents the lower super_block from being destroyed too early, when a
lower file system is being unmounted with MNT_FORCE or MNT_DETACH.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.2.3 unionfs-2.2.3
Erez Zadok [Sat, 26 Jan 2008 03:43:44 +0000 (22:43 -0500)]
Unionfs: release 2.2.3

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: lock_rename related locking fixes
Erez Zadok [Sat, 26 Jan 2008 01:21:07 +0000 (20:21 -0500)]
Unionfs: lock_rename related locking fixes

CC: Mike Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: d_parent related locking fixes
Erez Zadok [Sat, 26 Jan 2008 01:21:07 +0000 (20:21 -0500)]
Unionfs: d_parent related locking fixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>