unionfs-2.6.19.y.git
17 years agoVFS/fs_stack: use locking around i_size_write in 32-bit systems
Hugh Dickins [Tue, 25 Dec 2007 22:38:26 +0000 (17:38 -0500)]
VFS/fs_stack: use locking around i_size_write in 32-bit systems

LTP's iogen01 doio tests hang nicely on 32-bit SMP when /tmp is a unionfs
mount of a tmpfs.  See the comment on i_size_write in linux/fs.h: it needs
to be locked, otherwise i_size_read can spin forever waiting for a lost
seqcount update.

Most filesystems are already holding i_mutex for this, but unionfs calls
fsstack_copy_inode_size from many places, not necessarily holding i_mutex.
Use the low-level i_lock within fsstack_copy_inode_size when 32-bit SMP.

Checked the entire unionfs code to ensure this is the right fix for
i_size_write().

Also compared to what other file systems do when they have to handle inodes,
esp. not their own inodes (e.g., network file systems have to access the
exported file system's inodes).  Found out that most such file systems not just
don't lock around i_size_write, but they don't even use i_size_read or
i_size_write to access the inode's size.

CC: Mike Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: clarify usage.txt mount options
Erez Zadok [Tue, 25 Dec 2007 22:03:29 +0000 (17:03 -0500)]
Unionfs: clarify usage.txt mount options

CC: Jim Kissel <jlk@osml.eu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: avoid using drop_pagecache_sb in remount
Erez Zadok [Tue, 25 Dec 2007 22:03:29 +0000 (17:03 -0500)]
Unionfs: avoid using drop_pagecache_sb in remount

Exporting drop_pagecache_sb to modules is somewhat risky because one cannot
sleep inside invalidate_mapping_pages.  This could cause a lot of latency in
the pre-emption code.  So don't export this symbol to minimize the risk that
others will use it.

Instead, unionfs will try to directly invalidate as many pages it can from
the unionfs_remount code.  Invalidating those inode pages is not strictly
required, but helpful in encouraging a revalidation of inodes sooner than
waiting for individual f/s ops to access the union.  Since a remount is
already an expensive but rare operation, this inode pages invalidation
shouldn't add too much overhead.

CC: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: release 2.1.11 unionfs-2.1.11
Erez Zadok [Sat, 8 Dec 2007 18:48:02 +0000 (13:48 -0500)]
Unionfs: release 2.1.11

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: reduce the amount of cache-coherency debugging messages
Erez Zadok [Sat, 8 Dec 2007 18:25:22 +0000 (13:25 -0500)]
Unionfs: reduce the amount of cache-coherency debugging messages

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
17 years agoUnionfs: cleanup/consolidate branch-mode parsing code
Erez Zadok [Sat, 8 Dec 2007 18:15:03 +0000 (13:15 -0500)]
Unionfs: cleanup/consolidate branch-mode parsing code

Also a bug fix: disallow unrecognized branch modes at mount time, instead of
defaulting to "rw".

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: call wait_on_page_writeback before clear_page_dirty_for_io
Erez Zadok [Tue, 27 Nov 2007 00:16:20 +0000 (19:16 -0500)]
Unionfs: call wait_on_page_writeback before clear_page_dirty_for_io

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: release 2.1.10 unionfs-2.1.10
Erez Zadok [Mon, 26 Nov 2007 03:40:38 +0000 (22:40 -0500)]
Unionfs: release 2.1.10

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use generic_file_aio_read/write
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: use generic_file_aio_read/write

There's no apparent need to define our own aio_read/write methods.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: update our inode size correctly upon partial write
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: update our inode size correctly upon partial write

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: prevent multiple writers to lower_page
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: prevent multiple writers to lower_page

Without this patch, the LTP fs test "rwtest04" triggers a
BUG_ON(PageWriteback(page)) in fs/buffer.c:1706.

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: support splice(2)
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: support splice(2)

Also remove redundant variable from unionfs_readpage (saves a bit on stack
space).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: reintroduce a bmap method
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: reintroduce a bmap method

This is needed for swapon(2) files in the union.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: update times in setattr
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: update times in setattr

Needed to maintain Unix semantics via utimes(2).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: create opaque directories' whiteouts unconditionally
Erez Zadok [Mon, 26 Nov 2007 04:05:02 +0000 (23:05 -0500)]
Unionfs: create opaque directories' whiteouts unconditionally

Needed to maintain Unix semantics (LTP testing).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: don't create whiteouts on rightmost branch
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: don't create whiteouts on rightmost branch

If we are unlinking/rmdir'ing an object on the  rightmost branch, there's no
need to  create a whiteout there: this saves on storage space and inodes.
Also, in the (degenerate) case of having only one branch, this really saves
on whiteouts.

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: release lower resources on successful rmdir
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: release lower resources on successful rmdir

This patch prevents those resources from lingering around until memory
pressure would have forced them out.  The patch also properly handles
directories that have been rmdir'ed which are still some process's cwd.

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: remove useless debugging messages
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: remove useless debugging messages

These are considered normal behaviour, they don't really reveal any insight
to the person debugging the code, and they tend to clutter console messages.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: handle whiteouts more efficiently in filldir
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: handle whiteouts more efficiently in filldir

If we cache a dirent for file "foo", and then it gets deleted, then we look
for a ".wh.foo" whiteout entry in the same dirent cache.  But our dirent
cache strips the ".wh." prefix, thus looking for an entry named "foo" whose
filldir_node->whiteout should be 1 instead of 0.  In that case, don't
display  an incorrect printk  message that the file system may be corrupt,
but set that filldir_node->whiteout to 1.

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: set lower mnt after mkdir which resulted in copyup
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: set lower mnt after mkdir which resulted in copyup

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: minor cleanup in the debugging infrastructure
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: minor cleanup in the debugging infrastructure

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: minor coding standards applied
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: minor coding standards applied

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: minor cleanup in writepage
Hugh Dickins [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: minor cleanup in writepage

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use f_path instead of f_dentry/mnt
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: use f_path instead of f_dentry/mnt

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: cleaner support for RT patches
Erez Zadok [Sun, 25 Nov 2007 23:32:12 +0000 (18:32 -0500)]
Unionfs: cleaner support for RT patches

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: release 2.1.9 unionfs-2.1.9
Erez Zadok [Tue, 13 Nov 2007 03:55:39 +0000 (22:55 -0500)]
Unionfs: release 2.1.9

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: move debugging checks inside locks
Erez Zadok [Tue, 13 Nov 2007 03:22:52 +0000 (22:22 -0500)]
Unionfs: move debugging checks inside locks

This is to ensure that the objects we want to check aren't being destroyed
or changed by another thread.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: fold do_readpage into unionfs_readpage
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: fold do_readpage into unionfs_readpage

Simplify the code and reduce stack pressure a bit.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: remove unnecessary lower atime updates
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: remove unnecessary lower atime updates

No need for this because our readpage calls vfs_read on the lower objects,
which would update the atime as/if needed.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: debugging updates
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: debugging updates

Don't perform dentry+inode checks unless both are valid.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: clear partial read in readpage
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: clear partial read in readpage

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: writepage updates
Erez Zadok [Tue, 13 Nov 2007 01:47:24 +0000 (20:47 -0500)]
Unionfs: writepage updates

Don't set/reset the PageUptodate flag on our page.  Call flush_dcache_page
on the lower page after copy_highpage, and set it uptodate.  Call
set_page_dirty right before clear_page_dirty_for_io.

CC: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: update cache-coherency detection heuristics
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: update cache-coherency detection heuristics

Use a small delay to reduce the number of times unionfs has to detect
changed mtime's/ctime's, and also reduce the potential for false positives.
See Documentation/filesystems/unionfs/concepts.txt for a detailed
discussion.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use i_size wrappers
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: use i_size wrappers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: flush and release updates
Erez Zadok [Tue, 13 Nov 2007 01:45:43 +0000 (20:45 -0500)]
Unionfs: flush and release updates

Remove the totalopens counter which was intended to reduce unnecessary
processing of d_deleted dentries.  Move that processing from file_release to
flush.

Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: release 2.1.8 unionfs-2.1.8
Erez Zadok [Fri, 2 Nov 2007 23:45:52 +0000 (19:45 -0400)]
Unionfs: release 2.1.8

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 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>
18 years agoUnionfs: avoid a deadlock during branch-management on a pivot_root'ed union
Erez Zadok [Thu, 1 Nov 2007 00:33:46 +0000 (20:33 -0400)]
Unionfs: avoid a deadlock during branch-management on a pivot_root'ed union

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: mmap updates
Erez Zadok [Thu, 1 Nov 2007 00:35:27 +0000 (20:35 -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>
18 years agoUnionfs: update usage.txt documention
Erez Zadok [Wed, 31 Oct 2007 23:20:51 +0000 (19:20 -0400)]
Unionfs: update usage.txt documention

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 years agoUnionfs: delete whiteouts in sticky directories
Erez Zadok [Sun, 28 Oct 2007 05:34:54 +0000 (01:34 -0400)]
Unionfs: delete whiteouts in sticky directories

This is needed to maintain Unix semantics.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: update mmap documentation for unionfs_writepage
Erez Zadok [Sun, 28 Oct 2007 05:34:54 +0000 (01:34 -0400)]
Unionfs: update mmap documentation for unionfs_writepage

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

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 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>
18 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>
18 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>
18 years agoUnionfs: release 2.1.6 unionfs-2.1.6
Erez Zadok [Sun, 30 Sep 2007 19:04:49 +0000 (15:04 -0400)]
Unionfs: release 2.1.6

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: coding style: miscellaneous fixes
Erez Zadok [Sun, 30 Sep 2007 17:57:00 +0000 (13:57 -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>
18 years agoUnionfs: coding style: avoid multiple assignments on same line
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: coding style: avoid multiple assignments on same line

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: coding style: take assignments out of "if" conditions
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: coding style: take assignments out of "if" conditions

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use braces in both branches of conditionals
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -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>
18 years agoUnionfs: remove periods from the end of printk strings
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: remove periods from the end of printk strings

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: update/assign a KERN_* level to all printk statements
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -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>
18 years agoUnionfs: add missing newlines in printk's
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: add missing newlines in printk's

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: convert all appropriate printk's to pr_debug calls
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: convert all appropriate printk's to pr_debug calls

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use pr_debug() instead of custom dprintk()
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -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>
18 years agoUnionfs: use page_offset() helper
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: use page_offset() helper

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: remove unnecessary if condition
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: remove unnecessary if condition

The condition is always true there.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: properly indent static struct
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: properly indent static struct

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use UNIONFS_NAME macro
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: use UNIONFS_NAME macro

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: use consistent printk prefixes
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: use consistent printk prefixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: minor comment cleanups
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: minor comment cleanups

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: compile if debug is off
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -0400)]
Unionfs: compile if debug is off

Signed-of-by: John Johansen <jjohansen@suse.de>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agopatch unionfs_undo_unnecessary_unlikely_calls
Erez Zadok [Sun, 30 Sep 2007 04:13:09 +0000 (00:13 -0400)]
patch unionfs_undo_unnecessary_unlikely_calls

18 years agoUnionfs: display informational messages only if debug is on
Erez Zadok [Sun, 30 Sep 2007 04:08:29 +0000 (00:08 -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>
18 years agoUnionfs: release 2.1.5 unionfs-2.1.5
Erez Zadok [Wed, 26 Sep 2007 02:40:17 +0000 (22:40 -0400)]
Unionfs: release 2.1.5

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 years agoUnionfs: add un/likely conditionals on xattr ops
Erez Zadok [Tue, 25 Sep 2007 04:47:01 +0000 (00:47 -0400)]
Unionfs: add un/likely conditionals on xattr ops

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: add un/likely conditionals on common subr
Erez Zadok [Tue, 25 Sep 2007 05:05:07 +0000 (01:05 -0400)]
Unionfs: add un/likely conditionals on common subr

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 years agoUnionfs: add un/likely conditionals on rename ops
Erez Zadok [Tue, 25 Sep 2007 04:58:27 +0000 (00:58 -0400)]
Unionfs: add un/likely conditionals on rename ops

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: add un/likely conditionals on mmap ops
Erez Zadok [Tue, 25 Sep 2007 05:03:06 +0000 (01:03 -0400)]
Unionfs: add un/likely conditionals on mmap ops

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

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

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

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

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 years agoUnionfs: add un/likely conditionals on dentry ops
Erez Zadok [Tue, 25 Sep 2007 04:54:08 +0000 (00:54 -0400)]
Unionfs: add un/likely conditionals on dentry ops

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

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 years agoUnionfs: minor coding style updates
Erez Zadok [Tue, 25 Sep 2007 04:47:01 +0000 (00:47 -0400)]
Unionfs: minor coding style updates

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: cast page->index loff_t before shifting
Erez Zadok [Tue, 25 Sep 2007 04:47:01 +0000 (00:47 -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>
18 years agoUnionfs: release 2.1.4 unionfs-2.1.4
Erez_Zadok [Thu, 20 Sep 2007 04:14:44 +0000 (00:14 -0400)]
Unionfs: release 2.1.4

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 years agoUnionfs: cache-coherency fixes
Erez_Zadok [Thu, 20 Sep 2007 03:55:27 +0000 (23:55 -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>
18 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>
18 years agoUnionfs: use int in unionfs_d_revalidate
Erez_Zadok [Thu, 20 Sep 2007 03:55:27 +0000 (23:55 -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>
18 years agoUnionfs: documentation updates/corrections
Erez_Zadok [Thu, 20 Sep 2007 03:55:27 +0000 (23:55 -0400)]
Unionfs: documentation updates/corrections

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
18 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>
18 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>
18 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>