unionfs-2.6.39.y.git
13 years agoUnionfs: release 2.1.8 unionfs-2.1.8
Erez Zadok [Fri, 2 Nov 2007 23:45:30 +0000 (19:45 -0400)]
Unionfs: release 2.1.8

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs/VFS: no need to export 2 symbols in security/security.c
Erez Zadok [Fri, 2 Nov 2007 23:56:49 +0000 (19:56 -0400)]
Unionfs/VFS: no need to export 2 symbols in security/security.c

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: don't printk an error if it's due to common copyup
Erez Zadok [Thu, 1 Nov 2007 05:38:09 +0000 (01:38 -0400)]
Unionfs: don't printk an error if it's due to common copyup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: don't bother validating inode if it has no lower branches
Erez Zadok [Thu, 1 Nov 2007 04:41:03 +0000 (00:41 -0400)]
Unionfs: don't bother validating inode if it has no lower branches

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: avoid a deadlock during branch-management on a pivot_root'ed union
Erez Zadok [Fri, 2 Nov 2007 01:27:54 +0000 (21:27 -0400)]
Unionfs: avoid a deadlock during branch-management on a pivot_root'ed union

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
13 years agoUnionfs: mmap updates
Erez Zadok [Wed, 31 Oct 2007 23:04:26 +0000 (19:04 -0400)]
Unionfs: mmap updates

Rewrite unionfs_writepage to minimize dependence on AOP_WRITEPAGE_ACTIVEATE,
handle memory pressure better, and update documentation.  Remove
unionfs_sync_page because it's not needed.

CC: Hugh Dickins <hugh@veritas.com>
CC: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: update usage.txt documention
Erez Zadok [Mon, 29 Oct 2007 00:24:34 +0000 (20:24 -0400)]
Unionfs: update usage.txt documention

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: cleanup permission checking code
Erez Zadok [Fri, 2 Nov 2007 00:33:12 +0000 (20:33 -0400)]
Unionfs: cleanup permission checking code

Use vfs helpers and avoid redundant checks performed by the VFS already.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: delete whiteouts in sticky directories
Erez Zadok [Mon, 29 Oct 2007 00:24:39 +0000 (20:24 -0400)]
Unionfs: delete whiteouts in sticky directories

This is needed to maintain Unix semantics.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.7 unionfs-2.1.7
Erez Zadok [Fri, 19 Oct 2007 00:35:06 +0000 (20:35 -0400)]
Unionfs: release 2.1.7

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove obsolete #define and comment
Erez Zadok [Sun, 21 Oct 2007 20:06:42 +0000 (16:06 -0400)]
Unionfs: remove obsolete #define and comment

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: fix unionfs_setattr to handle ATTR_KILL_S*ID
Jeff Layton [Fri, 19 Oct 2007 04:44:00 +0000 (00:44 -0400)]
Unionfs: fix unionfs_setattr to handle ATTR_KILL_S*ID

Don't allow unionfs_setattr to trip the BUG() in notify_change. Clear
ATTR_MODE if the either ATTR_KILL_S*ID is set. This also allows the
lower filesystem to interpret these bits in its own way.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Cc: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove for_writepages nfs workaround
Erez Zadok [Thu, 18 Oct 2007 21:16:51 +0000 (17:16 -0400)]
Unionfs: remove for_writepages nfs workaround

This is no longer necessary since struct writeback_control no longer has a
fs_private field which lower file systems (esp. nfs) use.  Plus, unionfs now
defines its own ->writepages method.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: convert a printk to pr_debug in release
Erez Zadok [Thu, 18 Oct 2007 18:03:16 +0000 (14:03 -0400)]
Unionfs: convert a printk to pr_debug in release

This is mostly an informational message, not an error.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: don't bother validating dentry if it has no lower branches
Erez Zadok [Wed, 17 Oct 2007 21:35:02 +0000 (17:35 -0400)]
Unionfs: don't bother validating dentry if it has no lower branches

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: don't printk trivial message upon normal rename-copyup
Erez Zadok [Wed, 17 Oct 2007 20:37:51 +0000 (16:37 -0400)]
Unionfs: don't printk trivial message upon normal rename-copyup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: support lower filesystems without writeback capability
Erez Zadok [Tue, 16 Oct 2007 14:50:16 +0000 (10:50 -0400)]
Unionfs: support lower filesystems without writeback capability

Implement unionfs_writepages.  As per
mm/filemap.c:__filemap_fdatawrite_range(), don't call our writepage if the
lower mapping has BDI_CAP_NO_WRITEBACK capability set.

Signed-off-by: Pekka J Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: slab api remove useless ctor parameter and reorder parameters
Andrew Morton [Thu, 18 Oct 2007 19:54:55 +0000 (15:54 -0400)]
Unionfs: slab api remove useless ctor parameter and reorder parameters

fs/unionfs/super.c: In function 'unionfs_init_inode_cache':
fs/unionfs/super.c:874: warning: passing argument 5 of 'kmem_cache_create' from incompatible pointer type

Cc: Christoph Lameter <clameter@sgi.com>
Cc: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: security convert lsm into a static interface fix
Andrew Morton [Thu, 18 Oct 2007 19:50:15 +0000 (15:50 -0400)]
Unionfs: security convert lsm into a static interface fix

ERROR: "security_inode_permission" [fs/unionfs/unionfs.ko] undefined!
ERROR: "security_file_ioctl" [fs/unionfs/unionfs.ko] undefined!

Need these back.

Cc: "Serge E. Hallyn" <serue@us.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: James Morris <jmorris@namei.org>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.6 unionfs-2.1.6
Erez Zadok [Sun, 30 Sep 2007 19:04:31 +0000 (15:04 -0400)]
Unionfs: release 2.1.6

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: coding style: avoid lines longer than 80 chars
Erez Zadok [Sun, 30 Sep 2007 17:47:14 +0000 (13:47 -0400)]
Unionfs: coding style: avoid lines longer than 80 chars

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: coding style: miscellaneous fixes
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: coding style: miscellaneous fixes

No braces around single-statement if's.
No externs in .c files.
use <linux/mman.h> not <asm/mman.h>.
Use (foo *) not (foo*).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: coding style: avoid multiple assignments on same line
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: coding style: avoid multiple assignments on same line

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: coding style: take assignments out of "if" conditions
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: coding style: take assignments out of "if" conditions

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: coding style: proper spacing
Erez Zadok [Sun, 30 Sep 2007 17:11:16 +0000 (13:11 -0400)]
Unionfs: coding style: proper spacing

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use braces in both branches of conditionals
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: use braces in both branches of conditionals

As per CodingStyle, if one branch of an if-then-else has braces because it
has multiple statements, then the other branch should have braces too, even
if the other branch has only one statement in it.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove periods from the end of printk strings
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: remove periods from the end of printk strings

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: update/assign a KERN_* level to all printk statements
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: update/assign a KERN_* level to all printk statements

Also use pr_info() instead of printk(KERN_INFO ...)

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add missing newlines in printk's
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: add missing newlines in printk's

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: convert all appropriate printk's to pr_debug calls
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: convert all appropriate printk's to pr_debug calls

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use pr_debug() instead of custom dprintk()
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: use pr_debug() instead of custom dprintk()

Also turn on DEBUG if CONFIG_UNION_FS_DEBUG is on

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use page_offset() helper
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: use page_offset() helper

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove unnecessary if condition
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: remove unnecessary if condition

The condition is always true there.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: properly indent static struct
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: properly indent static struct

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use UNIONFS_NAME macro
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: use UNIONFS_NAME macro

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use consistent printk prefixes
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: use consistent printk prefixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: minor comment cleanups
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: minor comment cleanups

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: compile if debug is off
Erez Zadok [Sat, 29 Sep 2007 05:36:57 +0000 (01:36 -0400)]
Unionfs: compile if debug is off

Signed-of-by: John Johansen <jjohansen@suse.de>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agopatch unionfs_undo_unnecessary_unlikely_calls
Erez Zadok [Fri, 28 Sep 2007 03:55:57 +0000 (23:55 -0400)]
patch unionfs_undo_unnecessary_unlikely_calls

13 years agoUnionfs: display informational messages only if debug is on
Erez Zadok [Fri, 28 Sep 2007 03:45:46 +0000 (23:45 -0400)]
Unionfs: display informational messages only if debug is on

This is to avoid filling the console/logs with messages that are primarily
of debugging use.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Acked-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.5 unionfs-2.1.5
Erez Zadok [Wed, 26 Sep 2007 02:39:53 +0000 (22:39 -0400)]
Unionfs: release 2.1.5

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use poison.h for safe poison pointers
Erez Zadok [Wed, 26 Sep 2007 02:14:43 +0000 (22:14 -0400)]
Unionfs: use poison.h for safe poison pointers

This also fixes a compile warning on 64-bit systems.

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on xattr ops
Erez Zadok [Tue, 25 Sep 2007 04:44:44 +0000 (00:44 -0400)]
Unionfs: add un/likely conditionals on xattr ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on unlink ops
Erez Zadok [Tue, 25 Sep 2007 04:44:44 +0000 (00:44 -0400)]
Unionfs: add un/likely conditionals on unlink ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on common subr
Erez Zadok [Mon, 24 Sep 2007 06:22:53 +0000 (02:22 -0400)]
Unionfs: add un/likely conditionals on common subr

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on readdir ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on readdir ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on rename ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on rename ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on mmap ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on mmap ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on super ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on super ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on lookup ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on lookup ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on inode ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on inode ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on fileops
Erez Zadok [Mon, 24 Sep 2007 06:21:13 +0000 (02:21 -0400)]
Unionfs: add un/likely conditionals on fileops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on headers
Erez Zadok [Mon, 24 Sep 2007 06:21:09 +0000 (02:21 -0400)]
Unionfs: add un/likely conditionals on headers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on dir ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on dir ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on dentry ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on dentry ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on debug ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on debug ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on copyup ops
Erez Zadok [Mon, 24 Sep 2007 05:09:14 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on copyup ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add un/likely conditionals on common fileops
Erez Zadok [Mon, 24 Sep 2007 05:09:41 +0000 (01:09 -0400)]
Unionfs: add un/likely conditionals on common fileops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: lower nameidata support for nfsv4
Erez Zadok [Tue, 25 Sep 2007 04:50:48 +0000 (00:50 -0400)]
Unionfs: lower nameidata support for nfsv4

Pass nameidata structures as needed to the lower file system, support
LOOKUP_ACCESS/OPEN intents.  This makes unionfs work on top of nfsv4.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add lower nameidata debugging support
Erez Zadok [Tue, 25 Sep 2007 04:44:44 +0000 (00:44 -0400)]
Unionfs: add lower nameidata debugging support

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: minor coding style updates
Erez Zadok [Tue, 25 Sep 2007 04:44:44 +0000 (00:44 -0400)]
Unionfs: minor coding style updates

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: cast page->index loff_t before shifting
Erez Zadok [Tue, 25 Sep 2007 04:44:44 +0000 (00:44 -0400)]
Unionfs: cast page->index loff_t before shifting

Fixes bugs in number promotion/demotion computation, as per
<http://lkml.org/lkml/2007/9/20/17>

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.4 unionfs-2.1.4
Erez_Zadok [Thu, 20 Sep 2007 04:14:33 +0000 (00:14 -0400)]
Unionfs: release 2.1.4

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: cache-coherency fixes
Erez_Zadok [Thu, 20 Sep 2007 03:52:18 +0000 (23:52 -0400)]
Unionfs: cache-coherency fixes

Do not update mtime if there is no upper branch for the inode.  This
prevents from calling unionfs_lower_inode_idx() with a negative index, which
triggers a bug.

Signed-off-by: Olivier Blin <blino@mandriva.com>
Acked-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: display informational messages only if debug is on
Erez_Zadok [Thu, 20 Sep 2007 04:59:05 +0000 (00:59 -0400)]
Unionfs: display informational messages only if debug is on

This is to avoid filling the console/logs with messages that are primarily
of debugging use.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use int in unionfs_d_revalidate
Erez_Zadok [Thu, 20 Sep 2007 01:18:35 +0000 (21:18 -0400)]
Unionfs: use int in unionfs_d_revalidate

We have to use an int, even though unionfs_d_revalidate calls other routines
that return only true/false, b/c ->d_revalidate is allowed to return a
negative errno number.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: documentation updates/corrections
Erez_Zadok [Thu, 20 Sep 2007 01:12:37 +0000 (21:12 -0400)]
Unionfs: documentation updates/corrections

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.3 unionfs-2.1.3
Erez_Zadok [Tue, 11 Sep 2007 03:38:02 +0000 (23:38 -0400)]
Unionfs: release 2.1.3

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: cache coherency after lower objects are removed
Erez_Zadok [Tue, 11 Sep 2007 00:19:29 +0000 (20:19 -0400)]
Unionfs: cache coherency after lower objects are removed

Prevent an oops if a lower file is deleted and then it is stat'ed from the
upper layer.  Ensure that we return a negative dentry so the user will get
an ENOENT.  Properly dput/mntput so we don't leak references at the lower
file system.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: unionfs_lookup locking consistency
Erez_Zadok [Tue, 11 Sep 2007 00:15:37 +0000 (20:15 -0400)]
Unionfs: unionfs_lookup locking consistency

Ensure that our lookup locking is consistent and symmetric: if a lock
existed before calling lookup_backend, it should remain so; only if
performing a lookup of a known new dentry, should lookup_backend return a
newly-locked dentry-inode info (and only if there was no error).  Document
this behavior.  This cleanup allowed us to remove two unnecessary int
declarations.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use boolean type in unionfs_d_revalidate
Erez_Zadok [Tue, 11 Sep 2007 00:10:31 +0000 (20:10 -0400)]
Unionfs: use boolean type in unionfs_d_revalidate

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: add missing newlines to printks
Erez_Zadok [Tue, 11 Sep 2007 00:09:41 +0000 (20:09 -0400)]
Unionfs: add missing newlines to printks

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: remove unnecessary comment
Erez_Zadok [Thu, 6 Sep 2007 04:41:59 +0000 (00:41 -0400)]
Unionfs: remove unnecessary comment

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: documentation updates
Erez_Zadok [Thu, 6 Sep 2007 04:40:02 +0000 (00:40 -0400)]
Unionfs: documentation updates

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: use bool type in dentry and file revalidation code
Erez_Zadok [Thu, 6 Sep 2007 04:35:12 +0000 (00:35 -0400)]
Unionfs: use bool type in dentry and file revalidation code

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: cache-coherency fix for is_newer_lower
Erez_Zadok [Thu, 6 Sep 2007 04:42:56 +0000 (00:42 -0400)]
Unionfs: cache-coherency fix for is_newer_lower

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: import Jeff's fixes from korg
Erez_Zadok [Thu, 6 Sep 2007 02:18:44 +0000 (22:18 -0400)]
Unionfs: import Jeff's fixes from korg

64 bit fixes for debugging support.
Use bool type where appropriate.
Minor code cleanups.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
13 years agoUnionfs: Remove unused #defines
Josef 'Jeff' Sipek [Mon, 3 Sep 2007 21:32:07 +0000 (17:32 -0400)]
Unionfs: Remove unused #defines

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
13 years agoUnionfs: Simplify unionfs_get_nlinks
Josef 'Jeff' Sipek [Mon, 3 Sep 2007 21:22:45 +0000 (17:22 -0400)]
Unionfs: Simplify unionfs_get_nlinks

Since we set the right value for d_type in readdir, there's really no point
in having to calculate the number of directory links. Some on-disk
filesystems don't even store the number of links for directories.

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
13 years agoUnionfs: unionfs_create rewrite
Josef 'Jeff' Sipek [Fri, 31 Aug 2007 23:31:58 +0000 (19:31 -0400)]
Unionfs: unionfs_create rewrite

The code was hard to follow and violated some invariants (e.g., never modify
a read only branch, and always create on branch 0).

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
13 years agoUnionfs: document lockdep issues
Erez_Zadok [Fri, 31 Aug 2007 15:24:06 +0000 (11:24 -0400)]
Unionfs: document lockdep issues

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: support CONFIG_PREEMPT_RT
Erez_Zadok [Fri, 24 Aug 2007 14:42:56 +0000 (10:42 -0400)]
Unionfs: support CONFIG_PREEMPT_RT

Use compat_rw_semaphore when using the real-time preemption patches.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.2 unionfs-2.1.2
Erez_Zadok [Wed, 22 Aug 2007 22:08:48 +0000 (18:08 -0400)]
Unionfs: release 2.1.2

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: imported fixes from korg branch's take-3 series
Erez_Zadok [Wed, 22 Aug 2007 20:49:09 +0000 (16:49 -0400)]
Unionfs: imported fixes from korg branch's take-3 series

- removed EACCES/EROFS text from issues.txt
- updated sioq.[hc] copyright dates to 2006 (not earlier)
- added small XXX comment to xattr copyup code (selinux CAP_FOWNER stuff) to
  say that entire copyup code should be moved to SIOQ.
- copyup_xattr: renamed name_list_orig -> name_list_buf
- multi-line static inline unionfs_xattr_kfree
- rewrote unionfs_interpose a bit cleaner (no backward goto's, better
  variable names, use small util fxn, etc.)
- introduced CONFIG_UNION_FS_DEBUG instead of hand-editing makefile
- unionfs_mntget/put cleanups
- bug fix to is_robranch_idx (thanks to Patrick Aussems).  Fixed bug #571.
- fixed a couple of important bugs in our init/release_lower_nd

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: release 2.1.1. unionfs-2.1.1
Erez_Zadok [Sun, 19 Aug 2007 19:54:06 +0000 (15:54 -0400)]
Unionfs: release 2.1.1.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: minor usage.txt documentation fix
Erez_Zadok [Sun, 19 Aug 2007 19:22:43 +0000 (15:22 -0400)]
Unionfs: minor usage.txt documentation fix

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: imported fixes from korg branch
Erez_Zadok [Sat, 18 Aug 2007 20:02:02 +0000 (16:02 -0400)]
Unionfs: imported fixes from korg branch

Export release_open_intent.
SElinux: xattr fixes (CAP_FOWNER).
unionfs_xattr_kfree inline function.
alloc_lower_nd -> init_lower_nd.
free_lower_nd -> release_lower_nd.
unionfs_purge_extras -> unionfs_postcopyup_release.
unionfs_inherit_mnt -> unionfs_postcopyup_setmnt.
minor code/copyright cleanups.
MS_SILENT remount fix.
simplify unionfs_mntget/put.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: back-port stuff from Jeff's korg branch to per-kernel branches
Erez_Zadok [Sat, 11 Aug 2007 18:01:08 +0000 (14:01 -0400)]
Unionfs: back-port stuff from Jeff's korg branch to per-kernel branches

Just a bunch of code cleanups: no functionality changed.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
13 years agoRevert "bugfix: add MODULE_LICENSE to mtdsuper module so it loads"
Erez_Zadok [Sat, 11 Aug 2007 02:21:05 +0000 (22:21 -0400)]
Revert "bugfix: add MODULE_LICENSE to mtdsuper module so it loads"

This reverts commit 924185024a661a3a0fb772fde4ce178e587ed018.

13 years agoUnionfs/eCryptfs: remove lookup_one_len_nd and LOOKUP_ONE code
Erez_Zadok [Thu, 9 Aug 2007 21:04:19 +0000 (17:04 -0400)]
Unionfs/eCryptfs: remove lookup_one_len_nd and LOOKUP_ONE code

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: support incremental versions
Erez_Zadok [Tue, 7 Aug 2007 22:51:20 +0000 (18:51 -0400)]
Unionfs: support incremental versions

Also: release Unionfs 2.1 (since code has gotten much more stable since 2.0)

Unionfs will now report its precise version number and the kernel it was
meant for, upon module loading.  This is useful for maintenance purposes:
users can report the precise release number of Unionfs, and it also helps
prevent running older versions when newer ones are intended, or mixing
versions among supported kernels.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: check for immutable files before read-only branches
Erez_Zadok [Wed, 1 Aug 2007 14:29:42 +0000 (10:29 -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 <ezk@cs.sunysb.edu>
13 years agoUnionfs: mmap fixes to unionfs_writepage
Erez_Zadok [Tue, 31 Jul 2007 23:25:55 +0000 (19:25 -0400)]
Unionfs: mmap fixes to unionfs_writepage

Don't call unlock_page on lower_page unless lower ->writepage failed.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: rewrite cleanup_file more cleanly
Erez_Zadok [Tue, 31 Jul 2007 22:12:25 +0000 (18:12 -0400)]
Unionfs: rewrite cleanup_file more cleanly

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: improved printk upon copyup
Erez_Zadok [Tue, 31 Jul 2007 07:58:50 +0000 (03:58 -0400)]
Unionfs: improved printk upon copyup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
13 years agoUnionfs: xattr copyup fixes
Erez_Zadok [Tue, 31 Jul 2007 07:53:47 +0000 (03:53 -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 <ezk@cs.sunysb.edu>
13 years agoUnionfs: fixes to cache-coherency checking code
Erez_Zadok [Tue, 31 Jul 2007 07:33:24 +0000 (03:33 -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 <ezk@cs.sunysb.edu>
13 years agoUnionfs: mmap fixes to unionfs_writepage
Erez_Zadok [Tue, 31 Jul 2007 07:29:50 +0000 (03:29 -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 <ezk@cs.sunysb.edu>
13 years agoUnionfs: bugfix when mounting readonly exported NFS volumes (was: nfsro)
Erez_Zadok [Thu, 26 Jul 2007 04:04:58 +0000 (00:04 -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 <ezk@cs.sunysb.edu>
13 years ago[PATCH] unionfs: make functions static
Adrian Bunk [Mon, 2 Jul 2007 18:27:57 +0000 (14:27 -0400)]
[PATCH] unionfs: make functions static

This patch makes some needlessly global functions static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>