unionfs-2.6.19.y.git
11 years agoUnionfs: Release 2.6 master
Erez Zadok [Sat, 23 Aug 2014 04:14:51 +0000 (00:14 -0400)]
Unionfs: Release 2.6

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
11 years agoUnionfs: support asynchronous-IO (AIO) operations
Erez Zadok [Tue, 12 Aug 2014 02:45:48 +0000 (22:45 -0400)]
Unionfs: support asynchronous-IO (AIO) operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
11 years agoUnionfs: support direct-IO (DIO) operations
Erez Zadok [Tue, 12 Aug 2014 02:45:48 +0000 (22:45 -0400)]
Unionfs: support direct-IO (DIO) operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
11 years agoUnionfs: fix d_revalidate for corner case
Erez Zadok [Tue, 12 Aug 2014 02:45:48 +0000 (22:45 -0400)]
Unionfs: fix d_revalidate for corner case

In some cases, lower_dentry may goes to NULL.  Return 0 here to mark it
as invalid dentry.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
11 years agoUnionfs: implement vm_ops->page_mkwrite
Erez Zadok [Thu, 15 May 2014 05:56:41 +0000 (01:56 -0400)]
Unionfs: implement vm_ops->page_mkwrite

Some file systems (e.g., ext4) require it.  Reported by Ted Ts'o.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
11 years agoUnionfs: update maintainers
Erez Zadok [Thu, 3 Apr 2014 18:36:40 +0000 (14:36 -0400)]
Unionfs: update maintainers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
11 years agoUnionfs: Release 2.5.13
Erez Zadok [Fri, 28 Mar 2014 14:53:37 +0000 (10:53 -0400)]
Unionfs: Release 2.5.13

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
11 years agoUnionfs: 2014 Copyright update
Erez Zadok [Tue, 21 Jan 2014 06:09:36 +0000 (01:09 -0500)]
Unionfs: 2014 Copyright update

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
11 years agoUnionfs: Release 2.5.12
Erez Zadok [Wed, 27 Nov 2013 05:20:03 +0000 (00:20 -0500)]
Unionfs: Release 2.5.12

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
11 years agoUnionfs: copyright update for 2013
Erez Zadok [Wed, 27 Nov 2013 04:25:24 +0000 (23:25 -0500)]
Unionfs: copyright update for 2013

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: Release 2.5.11
Erez Zadok [Mon, 6 Feb 2012 02:26:27 +0000 (21:26 -0500)]
Unionfs: Release 2.5.11

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: Release 2.5.10
Erez Zadok [Wed, 7 Sep 2011 04:22:56 +0000 (00:22 -0400)]
Unionfs: Release 2.5.10

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: debug - don't complain when d_deleted dentries
Erez Zadok [Tue, 6 Sep 2011 03:23:54 +0000 (23:23 -0400)]
Unionfs: debug - don't complain when d_deleted dentries

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: define some debug macros to noop if DEBUG is off
Erez Zadok [Tue, 6 Sep 2011 01:34:43 +0000 (21:34 -0400)]
Unionfs: define some debug macros to noop if DEBUG is off

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: force only one open lower file after copyup in open(2)
Erez Zadok [Tue, 6 Sep 2011 01:33:43 +0000 (21:33 -0400)]
Unionfs: force only one open lower file after copyup in open(2)

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: find lower inode of unlinked opened files in setattr
Erez Zadok [Tue, 6 Sep 2011 01:20:35 +0000 (21:20 -0400)]
Unionfs: find lower inode of unlinked opened files in setattr

To find the inode of a lower file that's open but unlinked, we cannot find
it via unionfs_lower_inode as that's NULL; but we can get it properly from
lower_dentry->d_inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove whiteout if regular file also exists
Erez Zadok [Tue, 6 Sep 2011 01:20:35 +0000 (21:20 -0400)]
Unionfs: remove whiteout if regular file also exists

We used to return EIO then, but it's safer to cleanup such a situation, if
it occurs, in check_unlink_whiteout, because we know for a fact that we want
to delete a whiteout if one exists.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove whiteout of opened but unlinked file from readonly branch
Erez Zadok [Tue, 6 Sep 2011 01:20:35 +0000 (21:20 -0400)]
Unionfs: remove whiteout of opened but unlinked file from readonly branch

If we unlink an opened file in a readonly branch, then we create a whiteout.
But then if if ftruncate it, we copyup a zero-length file.  So we have to
delete the whiteout.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: Release 2.5.9.2 unionfs-2.5.9.2
Erez Zadok [Sat, 25 Jun 2011 22:53:34 +0000 (18:53 -0400)]
Unionfs: Release 2.5.9.2

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: Release 2.5.9.1 unionfs-2.5.9.1
Erez Zadok [Sat, 14 May 2011 02:32:04 +0000 (22:32 -0400)]
Unionfs: Release 2.5.9.1

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: Release 2.5.9 unionfs-2.5.9
Erez Zadok [Sun, 1 May 2011 05:24:31 +0000 (01:24 -0400)]
Unionfs: Release 2.5.9

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: copyright update for 2011
Erez Zadok [Sun, 1 May 2011 05:23:31 +0000 (01:23 -0400)]
Unionfs: copyright update for 2011

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: Release 2.5.8 master_top unionfs-2.5.8
Erez Zadok [Sun, 6 Mar 2011 21:59:19 +0000 (16:59 -0500)]
Unionfs: Release 2.5.8

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: ->setattr fixes
Erez Zadok [Sun, 6 Mar 2011 20:54:05 +0000 (15:54 -0500)]
Unionfs: ->setattr fixes

Call inode_check_ok first thing on our inode.
Pass lower_file in struct iattr to lower file system.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: don't dereference null pointers if dir="" was given master_bottom
Erez Zadok [Fri, 10 Dec 2010 03:07:00 +0000 (22:07 -0500)]
Unionfs: don't dereference null pointers if dir="" was given

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: Release 2.5.7 master_base unionfs-2.5.7
Erez Zadok [Thu, 4 Nov 2010 05:24:39 +0000 (01:24 -0400)]
Unionfs: Release 2.5.7

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
14 years agoUnionfs: Release 2.5.6 unionfs-2.5.6
Erez Zadok [Fri, 24 Sep 2010 05:21:38 +0000 (01:21 -0400)]
Unionfs: Release 2.5.6

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
15 years agoUnionfs: Release 2.5.5 unionfs-2.5.5
Erez Zadok [Wed, 11 Aug 2010 05:58:14 +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:45 +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:09 +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:30 +0000 (17:55 -0400)]
Unionfs: Release 2.5.3

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:36 +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:27 +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:23:52 +0000 (21:23 -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:21 +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:08 +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:42 +0000 (10:55 -0400)]
Unionfs: release 2.5

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
16 years agoUnionfs: unionfs_permission locking fixes
Erez Zadok [Fri, 19 Sep 2008 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -0400)]
patch unionfs-cleanup-mntput-calls.patch

16 years agoUnionfs: use dget_parent to keep parent dentry stable
Erez Zadok [Fri, 19 Sep 2008 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -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 05:55:17 +0000 (01:55 -0400)]
Unionfs: prevent a privilege escalation during first copyup

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:32 +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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -0400)]
Unionfs: update copyrights

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: update maintainers
Erez Zadok [Mon, 28 Jul 2008 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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:17:40 +0000 (23:17 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 03:06:51 +0000 (23:06 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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 02:59:17 +0000 (22:59 -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:12 +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:17:40 +0000 (19:17 -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:17:32 +0000 (19:17 -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:17:25 +0000 (19:17 -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:17:05 +0000 (19:17 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:49:51 +0000 (19:49 -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:50 +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:47 +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:25:32 +0000 (14:25 -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:45 +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:19 +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:45:31 +0000 (02:45 -0400)]
Unionfs: document reasons for opaque directories

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