wrapfs-2.6.32.y.git
3 years agoWrapfs: add ->bmap support wrapfs
Erez Zadok [Fri, 13 May 2022 23:40:54 +0000 (19:40 -0400)]
Wrapfs: add ->bmap support

Signed-off-by: Aditya Sonavane <aditya.sonavane@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.stonybrook.edu>
3 years agowrapfs: copyright year update
Erez Zadok [Sat, 7 May 2022 22:11:24 +0000 (18:11 -0400)]
wrapfs: copyright year update

3 years agowrapfs: change http URLs to https
Erez Zadok [Sat, 7 May 2022 20:47:38 +0000 (16:47 -0400)]
wrapfs: change http URLs to https

5 years agoremove unnecessary files
Erez Zadok [Tue, 17 Dec 2019 04:55:55 +0000 (23:55 -0500)]
remove unnecessary files

5 years agomerge changes
Erez Zadok [Sun, 15 Dec 2019 23:58:57 +0000 (18:58 -0500)]
merge changes

5 years agowrapfs: update copyright
Erez Zadok [Sat, 14 Dec 2019 05:04:41 +0000 (00:04 -0500)]
wrapfs: update copyright

5 years agowrapfs: remove unused variable
Erez Zadok [Sat, 14 Dec 2019 04:19:32 +0000 (23:19 -0500)]
wrapfs: remove unused variable

6 years agoupdate copyright
Erez Zadok [Fri, 29 Mar 2019 20:44:59 +0000 (16:44 -0400)]
update copyright

6 years agofix spell error
Erez Zadok [Fri, 29 Mar 2019 20:38:34 +0000 (16:38 -0400)]
fix spell error

7 years agofile 2
Rohit Kumar [Fri, 30 Mar 2018 12:11:39 +0000 (08:11 -0400)]
file 2

7 years agoRohit: Test file 1
Rohit Kumar [Fri, 30 Mar 2018 11:14:31 +0000 (07:14 -0400)]
Rohit: Test file 1

8 years agoWrapfs: ->iget fixes
Erez Zadok [Sun, 19 Feb 2017 00:11:21 +0000 (19:11 -0500)]
Wrapfs: ->iget fixes

Change where we igrab/iput to ensure we always hold a valid lower_inode.
Return ENOMEM (not EACCES) if iget5_locked returns NULL.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
8 years agoWrapfs: update copyrights for 2017
Erez Zadok [Sat, 18 Feb 2017 20:13:15 +0000 (15:13 -0500)]
Wrapfs: update copyrights for 2017

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update nlinks after rename
Erez Zadok [Mon, 14 Dec 2015 23:55:52 +0000 (18:55 -0500)]
Wrapfs: update nlinks after rename

Signed-off-by: Logeswari P Viswanath <logeswari.pv@hpe.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update copyright year to 2015
Erez Zadok [Thu, 5 Nov 2015 01:22:33 +0000 (20:22 -0500)]
Wrapfs: update copyright year to 2015

9 years agoWrapfs: use vfs xattr helpers
Erez Zadok [Thu, 5 Nov 2015 01:22:32 +0000 (20:22 -0500)]
Wrapfs: use vfs xattr helpers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: properly copy meta-data after AIO operations from lower inode
Erez Zadok [Sat, 16 Aug 2014 03:41:08 +0000 (23:41 -0400)]
Wrapfs: properly copy meta-data after AIO operations from lower inode

Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: leave placeholders for updating upper inode after AIO
Erez Zadok [Mon, 11 Aug 2014 23:34:52 +0000 (19:34 -0400)]
Wrapfs: leave placeholders for updating upper inode after AIO

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: protect lower_file by ref-count during aio operation
Erez Zadok [Sun, 10 Aug 2014 07:38:47 +0000 (03:38 -0400)]
Wrapfs: protect lower_file by ref-count during aio operation

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
9 years agoWrapfs: fix ->llseek to update upper and lower offsets
Erez Zadok [Thu, 26 Jun 2014 03:49:20 +0000 (23:49 -0400)]
Wrapfs: fix ->llseek to update upper and lower offsets

Fixes bug: xfstests generic/257. f_pos consistently is required by and
only by dir_ops->wrapfs_readdir, main_ops is not affected.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
9 years ago Wrapfs: support extended attributes (xattr) operations
Erez Zadok [Thu, 26 Jun 2014 03:49:20 +0000 (23:49 -0400)]
 Wrapfs: support extended attributes (xattr) operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
9 years agoWrapfs: support asynchronous-IO (AIO) operations
Erez Zadok [Sat, 21 Jun 2014 01:26:02 +0000 (21:26 -0400)]
Wrapfs: support asynchronous-IO (AIO) operations

Signed-off-by: Li Mengyang <li.mengyang@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: support direct-IO (DIO) operations
Erez Zadok [Sat, 21 Jun 2014 01:26:02 +0000 (21:26 -0400)]
Wrapfs: support direct-IO (DIO) operations

Signed-off-by: Li Mengyang <li.mengyang@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: implement vm_ops->page_mkwrite
Erez Zadok [Thu, 15 May 2014 04:15:52 +0000 (00:15 -0400)]
Wrapfs: 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>
9 years agoWrapfs: update documentation
Erez Zadok [Thu, 3 Apr 2014 17:34:38 +0000 (13:34 -0400)]
Wrapfs: update documentation

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update maintainers
Erez Zadok [Thu, 3 Apr 2014 17:34:28 +0000 (13:34 -0400)]
Wrapfs: update maintainers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update documentation
Erez Zadok [Tue, 21 Jan 2014 08:04:36 +0000 (03:04 -0500)]
Wrapfs: update documentation

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: properly use fsstack_copy_attr_all's 3rd arg in ->ioctl
Erez Zadok [Wed, 20 Nov 2013 03:14:12 +0000 (22:14 -0500)]
Wrapfs: properly use fsstack_copy_attr_all's 3rd arg in ->ioctl

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: copy lower inode attributes in ->ioctl
Erez Zadok [Wed, 5 Jun 2013 05:43:41 +0000 (01:43 -0400)]
Wrapfs: copy lower inode attributes in ->ioctl

Some ioctls (e.g., EXT2_IOC_SETFLAGS) can change inode attributes, so copy
them from lower inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove unnecessary call to vm_unmap in ->mmap
Erez Zadok [Wed, 5 Jun 2013 05:42:41 +0000 (01:42 -0400)]
Wrapfs: remove unnecessary call to vm_unmap in ->mmap

Code is unnecessary and causes deadlocks in newer kernels.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agopatch copyright-2013.patch
Erez Zadok [Mon, 3 Jun 2013 01:53:17 +0000 (21:53 -0400)]
patch copyright-2013.patch

9 years agoWrapfs: drop our dentry in ->rmdir
Erez Zadok [Fri, 9 Sep 2011 04:43:49 +0000 (00:43 -0400)]
Wrapfs: drop our dentry in ->rmdir

Also clear nlinks on our inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: lookup fixes
Erez Zadok [Mon, 2 May 2011 06:00:02 +0000 (02:00 -0400)]
Wrapfs: lookup fixes

Don't use lookup_one_len any longer (doesn't work for NFS).
Initialize lower wrapfs_dentry_info so lower_path is NULL.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: correct use of copy_attr_all, old style
Erez Zadok [Fri, 18 Mar 2011 17:26:53 +0000 (13:26 -0400)]
Wrapfs: correct use of copy_attr_all, old style

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove extra debug in rmdir
Erez Zadok [Fri, 18 Mar 2011 17:12:43 +0000 (13:12 -0400)]
Wrapfs: remove extra debug in rmdir

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: checkpatch fixes
Erez Zadok [Fri, 18 Mar 2011 16:37:32 +0000 (12:37 -0400)]
Wrapfs: checkpatch fixes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: copyright update for 2011
Erez Zadok [Fri, 18 Mar 2011 03:04:47 +0000 (23:04 -0400)]
Wrapfs: copyright update for 2011

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: better handling of NFS silly-renamed files
Erez Zadok [Fri, 18 Mar 2011 03:04:47 +0000 (23:04 -0400)]
Wrapfs: better handling of NFS silly-renamed files

In ->unlink, if we try to unlink an NFS silly-renamed file, NFS returns
-EBUSY.  We have to treat it as a success and return 0 to the VFS.  NFS will
remove silly-deleted files later on anyway.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update parent directory inode size in inode ops
Erez Zadok [Fri, 18 Mar 2011 03:04:47 +0000 (23:04 -0400)]
Wrapfs: update parent directory inode size in inode ops

After ->unlink, ->rmdir, and ->rename, we need to copy the (possibly
changed) inode size of the parent directory(ies) where the operation took
place.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove unnecessary calls to copy lower inode->n_links
Erez Zadok [Fri, 18 Mar 2011 03:04:47 +0000 (23:04 -0400)]
Wrapfs: remove unnecessary calls to copy lower inode->n_links

Removed from ->create, ->symlink, and ->mknod.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: ->setattr fixes
Erez Zadok [Tue, 8 Mar 2011 06:15:15 +0000 (01:15 -0500)]
Wrapfs: ->setattr fixes

Call inode_change_ok on our inode, not lower.
Don't copy inode sizes (VFS does it).
Pass lower file in struct iattr passed to notify_change on lower inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update documentation
Erez Zadok [Wed, 21 Apr 2010 01:24:40 +0000 (21:24 -0400)]
Wrapfs: update documentation

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: avoid an extra path_get/put pair in wrapfs_open
Erez Zadok [Tue, 20 Apr 2010 18:15:06 +0000 (14:15 -0400)]
Wrapfs: avoid an extra path_get/put pair in wrapfs_open

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: decrement nd_path on follow_link error
Erez Zadok [Fri, 22 Jan 2010 02:15:01 +0000 (21:15 -0500)]
Wrapfs: decrement nd_path on follow_link error

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: don't mention kernel version in modload message
Erez Zadok [Tue, 5 Jan 2010 09:24:05 +0000 (04:24 -0500)]
Wrapfs: don't mention kernel version in modload message

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs/VFS: remove init_lower_nd and unexport release_lower_nd
Erez Zadok [Tue, 5 Jan 2010 09:16:08 +0000 (04:16 -0500)]
Wrapfs/VFS: remove init_lower_nd and unexport release_lower_nd

Only wrapfs_create used it, and it is unnecessary to init a completely new
nameidata for the lower file system.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use iget5_locked
Erez Zadok [Sat, 2 Jan 2010 22:21:56 +0000 (17:21 -0500)]
Wrapfs: use iget5_locked

Use iget5_locked instead of iget_locked, because an inode number alone isn't
enough for wrapfs to identify an inode (need to also ensure we match the
glower inode).  This fixes a number of races when mounting on top of NFS.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: handle silly-renamed NFS files
Erez Zadok [Mon, 4 Jan 2010 23:54:51 +0000 (18:54 -0500)]
Wrapfs: handle silly-renamed NFS files

In our ->unlink and ->rmdir, if the lower dentry is already silly-renamed
(NFS), then we treat this unlink operation as if it already succeeded, and
don't actually call vfs_unlink on the lower dentry (NFS may return EBUSY).
Note: VFS also has special handling for silly-renamed files.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: document necessary d_drop in ->unlink
Erez Zadok [Sun, 27 Dec 2009 07:01:28 +0000 (02:01 -0500)]
Wrapfs: document necessary d_drop in ->unlink

LTP will fail if this d_drop isn't there.
Funny, you'd think the VFS should do it for you.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: update copyright year
Erez Zadok [Sun, 27 Dec 2009 07:06:17 +0000 (02:06 -0500)]
Wrapfs: update copyright year

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: minor cleanups, comment updates, LoC
Erez Zadok [Sun, 27 Dec 2009 00:24:30 +0000 (19:24 -0500)]
Wrapfs: minor cleanups, comment updates, LoC

Remove unnecessary BUG assertions.
Update comments.
Update LoC in documentation.

9 years agoWrapfs: remove unused mode variable from ->symlink
Erez Zadok [Sat, 26 Dec 2009 21:55:53 +0000 (16:55 -0500)]
Wrapfs: remove unused mode variable from ->symlink

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove d_deleted helper in ->open
Erez Zadok [Sat, 26 Dec 2009 20:35:33 +0000 (15:35 -0500)]
Wrapfs: remove d_deleted helper in ->open

Still need to check for unhashed dentries in ->open.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use mnt_want/drop_write helpers
Erez Zadok [Sat, 26 Dec 2009 22:54:47 +0000 (17:54 -0500)]
Wrapfs: use mnt_want/drop_write helpers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: check for errors in ->rmdir
Erez Zadok [Sat, 26 Dec 2009 20:06:28 +0000 (15:06 -0500)]
Wrapfs: check for errors in ->rmdir

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: fix race in ->mmap
Erez Zadok [Fri, 25 Dec 2009 22:10:25 +0000 (17:10 -0500)]
Wrapfs: fix race in ->mmap

Discovered using LTP rwtest03/04 tests.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: support the mand mount option
Erez Zadok [Fri, 25 Dec 2009 19:04:37 +0000 (14:04 -0500)]
Wrapfs: support the mand mount option

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove unnecessary checks from file->release
Erez Zadok [Sat, 26 Dec 2009 19:23:07 +0000 (14:23 -0500)]
Wrapfs: remove unnecessary checks from file->release

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use only d_add in instantiate
Erez Zadok [Thu, 24 Dec 2009 20:36:12 +0000 (15:36 -0500)]
Wrapfs: use only d_add in instantiate

Also, no need for special versions of instantiate.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: mention lower file system type and path on mount
Erez Zadok [Thu, 24 Dec 2009 20:13:38 +0000 (15:13 -0500)]
Wrapfs: mention lower file system type and path on mount

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: merge wrapfs_fill_inode into wrapfs_iget
Erez Zadok [Sat, 26 Dec 2009 19:18:59 +0000 (14:18 -0500)]
Wrapfs: merge wrapfs_fill_inode into wrapfs_iget

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: move wrapfs_iget and wrapfs_lookup to lookup.c
Erez Zadok [Wed, 23 Dec 2009 21:18:03 +0000 (16:18 -0500)]
Wrapfs: move wrapfs_iget and wrapfs_lookup to lookup.c

Better placed logically.  Avoids a couple of externs.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: cleanup decision login for fill_inode in interpose
Erez Zadok [Wed, 23 Dec 2009 21:09:29 +0000 (16:09 -0500)]
Wrapfs: cleanup decision login for fill_inode in interpose

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: don't pass dentry to wrapfs_fill_inode
Erez Zadok [Wed, 23 Dec 2009 21:03:28 +0000 (16:03 -0500)]
Wrapfs: don't pass dentry to wrapfs_fill_inode

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: rename wrapfs_lookup_full to __wrapfs_lookup
Erez Zadok [Wed, 23 Dec 2009 20:25:53 +0000 (15:25 -0500)]
Wrapfs: rename wrapfs_lookup_full to __wrapfs_lookup

Also remove dead code.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: don't call path_put inside a spinlock
Erez Zadok [Sat, 26 Dec 2009 18:55:57 +0000 (13:55 -0500)]
Wrapfs: don't call path_put inside a spinlock

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use generic_show_options
Erez Zadok [Wed, 23 Dec 2009 07:03:15 +0000 (02:03 -0500)]
Wrapfs: use generic_show_options

Wrapfs no longer has any special mount options.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove d_splice_alias code from interpose
Erez Zadok [Sat, 26 Dec 2009 18:53:08 +0000 (13:53 -0500)]
Wrapfs: remove d_splice_alias code from interpose

Unnecessary until and if we export wrapfs over NFS.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove old lower dentry/mnt helpers
Erez Zadok [Sat, 26 Dec 2009 22:50:29 +0000 (17:50 -0500)]
Wrapfs: remove old lower dentry/mnt helpers

Unnecessary as we're now using lower_path helpers.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use lower-path helpers in inode operations
Erez Zadok [Sat, 26 Dec 2009 18:46:54 +0000 (13:46 -0500)]
Wrapfs: use lower-path helpers in inode operations

Also remove unnecessary code.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use lower-path helpers in file operations
Erez Zadok [Sat, 26 Dec 2009 18:22:21 +0000 (13:22 -0500)]
Wrapfs: use lower-path helpers in file operations

Also remove unnecessary code and cleanup.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use lower-path helpers in dentry operations
Erez Zadok [Sat, 26 Dec 2009 18:15:59 +0000 (13:15 -0500)]
Wrapfs: use lower-path helpers in dentry operations

And remove dead code from ->d_revalidate.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use lower-path helpers in main operations
Erez Zadok [Wed, 23 Dec 2009 01:52:03 +0000 (20:52 -0500)]
Wrapfs: use lower-path helpers in main operations

Also remove wrapfs_parse_options because we don't support any special
options.  Take the lower mount directory from the dev_name argument of
mount(2).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use lower-path helpers in lookup and interpose
Erez Zadok [Sat, 26 Dec 2009 22:32:13 +0000 (17:32 -0500)]
Wrapfs: use lower-path helpers in lookup and interpose

Also simplify code, cut dead code, and minor cleanup.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use lower-path helpers in superblock operations
Erez Zadok [Wed, 23 Dec 2009 01:32:49 +0000 (20:32 -0500)]
Wrapfs: use lower-path helpers in superblock operations

Also remove unnecessary code from ->statfs.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: introduce new lower-path based helpers
Erez Zadok [Sat, 26 Dec 2009 18:02:46 +0000 (13:02 -0500)]
Wrapfs: introduce new lower-path based helpers

These will help remove the need for dentry/mnt specific helpers.  Everything
should be handled as a path

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove leftovers of per-function dentry/file revalidation
Erez Zadok [Sat, 26 Dec 2009 18:00:23 +0000 (13:00 -0500)]
Wrapfs: remove leftovers of per-function dentry/file revalidation

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove unnecessary calls to dget_parent
Erez Zadok [Mon, 21 Dec 2009 20:25:17 +0000 (15:25 -0500)]
Wrapfs: remove unnecessary calls to dget_parent

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: cleanup and fixes in ->open
Erez Zadok [Sat, 26 Dec 2009 17:46:39 +0000 (12:46 -0500)]
Wrapfs: cleanup and fixes in ->open

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: ->show_options doesn't need to display per-branch mount mode
Erez Zadok [Mon, 14 Dec 2009 17:13:46 +0000 (12:13 -0500)]
Wrapfs: ->show_options doesn't need to display per-branch mount mode

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove mention of "branches" from comments
Erez Zadok [Sat, 26 Dec 2009 17:45:15 +0000 (12:45 -0500)]
Wrapfs: remove mention of "branches" from comments

And remove dead code from file->release.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: no need to initialize err variable in ->unlink
Erez Zadok [Sat, 12 Dec 2009 06:24:06 +0000 (01:24 -0500)]
Wrapfs: no need to initialize err variable in ->unlink

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: comments and updates to ->d_revalidate
Erez Zadok [Sat, 26 Dec 2009 17:43:18 +0000 (12:43 -0500)]
Wrapfs: comments and updates to ->d_revalidate

Our dentry should be invalid if there is no lower dentry.
Copy lower attributes only if the lower dentry is valid.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agowrapfs: simple optimization in permission
Erez Zadok [Wed, 9 Dec 2009 02:51:49 +0000 (21:51 -0500)]
wrapfs: simple optimization in permission

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove unnecessary code from lookup_full
Erez Zadok [Wed, 9 Dec 2009 02:50:21 +0000 (21:50 -0500)]
Wrapfs: remove unnecessary code from lookup_full

No need to d_drop our own dentry: VFS should.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: cleanup lookup and interpose
Erez Zadok [Mon, 21 Dec 2009 16:51:34 +0000 (11:51 -0500)]
Wrapfs: cleanup lookup and interpose

Remove two INTERPOSE flags and instead pass a dentry pointer to be filled in
by interpose only if called from lookup.  Remove unnecessary code.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove debugging support
Erez Zadok [Mon, 21 Dec 2009 16:41:27 +0000 (11:41 -0500)]
Wrapfs: remove debugging support

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove unnecessary d_drop calls in wrapfs_link
Erez Zadok [Sat, 26 Dec 2009 17:40:20 +0000 (12:40 -0500)]
Wrapfs: remove unnecessary d_drop calls in wrapfs_link

Unnecessary because it would unhash perfectly valid dentries, causing them
to have to be re-looked up the next time they're needed, which presumably is
right after.

Signed-off-by: Aseem Rastogi <arastogi@cs.sunysb.edu>
Signed-off-by: Shrikar archak <shrikar84@gmail.com>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: copy inode size and blocks from lower inode on d_revalidate
Erez Zadok [Sun, 6 Dec 2009 03:30:05 +0000 (22:30 -0500)]
Wrapfs: copy inode size and blocks from lower inode on d_revalidate

Otherwise our inode size may be incorrect if the lower file system takes a
bit of time to update its inode sizes (e.g., nfs4).

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: cleanup wrapfs_iget
Erez Zadok [Wed, 9 Dec 2009 16:38:46 +0000 (11:38 -0500)]
Wrapfs: cleanup wrapfs_iget

Remove unnecessary iput() on lower inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoUnionfs: switch from d->d_iput from sb->drop_inode
Erez Zadok [Wed, 9 Dec 2009 15:52:08 +0000 (10:52 -0500)]
Unionfs: switch from d->d_iput from sb->drop_inode

This makes reference counting easier and saner to handle, and fixes bugs.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: inherit inode number from lower inode
Erez Zadok [Wed, 9 Dec 2009 15:49:43 +0000 (10:49 -0500)]
Wrapfs: inherit inode number from lower inode

Fixes a bug in hardlinks: hardlinked upper inodes should have same inode num.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agowrapfs: remove unnecessary comment in permission
Erez Zadok [Tue, 8 Dec 2009 23:27:48 +0000 (18:27 -0500)]
wrapfs: remove unnecessary comment in permission

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: fix typo in setattr comment
Erez Zadok [Sun, 6 Dec 2009 03:19:56 +0000 (22:19 -0500)]
Wrapfs: fix typo in setattr comment

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: fix typo in documentation.
Erez Zadok [Fri, 4 Dec 2009 03:16:15 +0000 (22:16 -0500)]
Wrapfs: fix typo in documentation.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: remove lockdep off/on in wrapfs_rename
Erez Zadok [Mon, 30 Nov 2009 05:52:39 +0000 (00:52 -0500)]
Wrapfs: remove lockdep off/on in wrapfs_rename

Remove lockdep on/off pair. Issue is now fixed by adding a new
lock_class_key in alloc_super.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Shrikar archak <shrikar84@gmail.com>
9 years agoVFS: add lockdep annotation to s_vfs_rename_key for ecryptfs
Roland Dreier [Tue, 1 Dec 2009 01:18:12 +0000 (20:18 -0500)]
VFS: add lockdep annotation to s_vfs_rename_key for ecryptfs

 >  =============================================
 >  [ INFO: possible recursive locking detected ]
 >  2.6.31-2-generic #14~rbd3
 >  ---------------------------------------------
 >  firefox-3.5/4162 is trying to acquire lock:
 >   (&s->s_vfs_rename_mutex){+.+.+.}, at: [<ffffffff81139d31>] lock_rename+0x41/0xf0
 >
 >  but task is already holding lock:
 >   (&s->s_vfs_rename_mutex){+.+.+.}, at: [<ffffffff81139d31>] lock_rename+0x41/0xf0
 >
 >  other info that might help us debug this:
 >  3 locks held by firefox-3.5/4162:
 >   #0:  (&s->s_vfs_rename_mutex){+.+.+.}, at: [<ffffffff81139d31>] lock_rename+0x41/0xf0
 >   #1:  (&sb->s_type->i_mutex_key#11/1){+.+.+.}, at: [<ffffffff81139d5a>] lock_rename+0x6a/0xf0
 >   #2:  (&sb->s_type->i_mutex_key#11/2){+.+.+.}, at: [<ffffffff81139d6f>] lock_rename+0x7f/0xf0
 >
 >  stack backtrace:
 >  Pid: 4162, comm: firefox-3.5 Tainted: G         C 2.6.31-2-generic #14~rbd3
 >  Call Trace:
 >   [<ffffffff8108ae74>] print_deadlock_bug+0xf4/0x100
 >   [<ffffffff8108ce26>] validate_chain+0x4c6/0x750
 >   [<ffffffff8108d2e7>] __lock_acquire+0x237/0x430
 >   [<ffffffff8108d585>] lock_acquire+0xa5/0x150
 >   [<ffffffff81139d31>] ? lock_rename+0x41/0xf0
 >   [<ffffffff815526ad>] __mutex_lock_common+0x4d/0x3d0
 >   [<ffffffff81139d31>] ? lock_rename+0x41/0xf0
 >   [<ffffffff81139d31>] ? lock_rename+0x41/0xf0
 >   [<ffffffff8120eaf9>] ? ecryptfs_rename+0x99/0x170
 >   [<ffffffff81552b36>] mutex_lock_nested+0x46/0x60
 >   [<ffffffff81139d31>] lock_rename+0x41/0xf0
 >   [<ffffffff8120eb2a>] ecryptfs_rename+0xca/0x170
 >   [<ffffffff81139a9e>] vfs_rename_dir+0x13e/0x160
 >   [<ffffffff8113ac7e>] vfs_rename+0xee/0x290
 >   [<ffffffff8113c212>] ? __lookup_hash+0x102/0x160
 >   [<ffffffff8113d512>] sys_renameat+0x252/0x280
 >   [<ffffffff81133eb4>] ? cp_new_stat+0xe4/0x100
 >   [<ffffffff8101316a>] ? sysret_check+0x2e/0x69
 >   [<ffffffff8108c34d>] ? trace_hardirqs_on_caller+0x14d/0x190
 >   [<ffffffff8113d55b>] sys_rename+0x1b/0x20
 >   [<ffffffff81013132>] system_call_fastpath+0x16/0x1b

The trace above is totally reproducible by doing a cross-directory
rename on an ecryptfs directory.

The issue seems to be that sys_renameat() does lock_rename() then calls
into the filesystem; if the filesystem is ecryptfs, then
ecryptfs_rename() again does lock_rename() on the lower filesystem, and
lockdep can't tell that the two s_vfs_rename_mutexes are different.  It
seems an annotation like the following is sufficient to fix this (it
does get rid of the lockdep trace in my simple tests); however I would
like to make sure I'm not misunderstanding the locking, hence the CC
list...

Signed-off-by: Roland Dreier <rdreier@cisco.com>
Cc: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Cc: Dustin Kirkland <kirkland@canonical.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
9 years agoWrapfs: chdir fix
Erez Zadok [Mon, 30 Nov 2009 05:49:32 +0000 (00:49 -0500)]
Wrapfs: chdir fix

When lower_dentry is not filled during lookup, chdir can oops.

Signed-off-by: Aseem Rastogi <arastogi@cs.sunysb.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agopatch wrapfs-update-documentation.patch
Erez Zadok [Wed, 18 Nov 2009 01:19:51 +0000 (20:19 -0500)]
patch wrapfs-update-documentation.patch