wrapfs-4.0.y.git
8 years agoWrapfs: ->iget fixes
Erez Zadok [Sun, 19 Feb 2017 00:11:24 +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:32:07 +0000 (15:32 -0500)]
Wrapfs: update copyrights for 2017

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: support NFS exports
Erez Zadok [Sun, 22 May 2016 04:32:15 +0000 (00:32 -0400)]
Wrapfs: support NFS exports

Based on patch from Sandeep Joshi <sanjos100@gmail.com>.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
9 years agoWrapfs: use d_splice_alias
Erez Zadok [Sun, 22 May 2016 04:32:11 +0000 (00:32 -0400)]
Wrapfs: use d_splice_alias

Refactor interpose code to allow lookup to use d_splice_alias.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: update copyright year to 2015
Erez Zadok [Wed, 4 Nov 2015 03:15:30 +0000 (22:15 -0500)]
Wrapfs: update copyright year to 2015

10 years agoWrapfs: use vfs xattr helpers
Erez Zadok [Wed, 4 Nov 2015 03:15:27 +0000 (22:15 -0500)]
Wrapfs: use vfs xattr helpers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: properly copy meta-data after AIO operations from lower inode
Erez Zadok [Sat, 16 Aug 2014 02:48:32 +0000 (22:48 -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>
10 years agoWrapfs: leave placeholders for updating upper inode after AIO
Erez Zadok [Mon, 11 Aug 2014 22:10:35 +0000 (18:10 -0400)]
Wrapfs: leave placeholders for updating upper inode after AIO

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: protect lower_file by ref-count during aio operation
Erez Zadok [Sun, 10 Aug 2014 04:40:56 +0000 (00:40 -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>
10 years agoWrapfs: add read_iter/write_iter opeations
Erez Zadok [Sun, 10 Aug 2014 04:40:56 +0000 (00:40 -0400)]
Wrapfs: add read_iter/write_iter opeations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
10 years agoWrapfs: update to new direct_IO interface
Erez Zadok [Sun, 10 Aug 2014 04:40:56 +0000 (00:40 -0400)]
Wrapfs: update to new direct_IO interface

Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: update wrapfs_fsync
Erez Zadok [Sat, 26 Jul 2014 23:06:53 +0000 (19:06 -0400)]
Wrapfs: update wrapfs_fsync

In v3.16 generic_file_fsync will access ->i_sb->s_bdev->bd_disk, but
s_bdev is NULL for wrapfs inode.  This will trigger a kernel panic in
xfstests generic/075, generic/091, etc. as of  kernel v3.16-rc1.

This patch fixes this issue by using __generic_file_fsync, a new
interface introduced in v3.16.

Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: fix ->llseek to update upper and lower offsets
Erez Zadok [Thu, 26 Jun 2014 02:37:16 +0000 (22:37 -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>
10 years ago Wrapfs: support extended attributes (xattr) operations
Erez Zadok [Thu, 26 Jun 2014 02:30:27 +0000 (22:30 -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>
10 years agoWrapfs: support asynchronous-IO (AIO) operations
Erez Zadok [Fri, 20 Jun 2014 23:40:04 +0000 (19:40 -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>
10 years agoWrapfs: support direct-IO (DIO) operations
Erez Zadok [Fri, 20 Jun 2014 23:39:40 +0000 (19:39 -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>
10 years agoWrapfs: implement vm_ops->page_mkwrite
Erez Zadok [Thu, 15 May 2014 03:45:28 +0000 (23:45 -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>
10 years agoWrapfs: use new vfs_rename prototype
Erez Zadok [Sun, 27 Apr 2014 02:43:20 +0000 (22:43 -0400)]
Wrapfs: use new vfs_rename prototype

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

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

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

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use generic put_link helper
Erez Zadok [Wed, 27 Nov 2013 04:05:22 +0000 (23:05 -0500)]
Wrapfs: use generic put_link helper

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: remove unnecessary initializations
Erez Zadok [Wed, 27 Nov 2013 04:03:46 +0000 (23:03 -0500)]
Wrapfs: remove unnecessary initializations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: remove deprecated init_lower_nd
Erez Zadok [Sun, 24 Nov 2013 16:12:07 +0000 (11:12 -0500)]
Wrapfs: remove deprecated init_lower_nd

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: update MAINTAINERS info
Erez Zadok [Wed, 20 Nov 2013 00:00:00 +0000 (19:00 -0500)]
Wrapfs: update MAINTAINERS info

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agopatch wrapfs-copyright-update.patch
Erez Zadok [Tue, 19 Nov 2013 23:59:47 +0000 (18:59 -0500)]
patch wrapfs-copyright-update.patch

10 years agoWrapfs: use DCACHE_OP_REVALIDATE flag in ->d_revalidate
Erez Zadok [Tue, 19 Nov 2013 22:23:31 +0000 (17:23 -0500)]
Wrapfs: use DCACHE_OP_REVALIDATE flag in ->d_revalidate

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: implement ->getattr
Erez Zadok [Tue, 19 Nov 2013 22:22:31 +0000 (17:22 -0500)]
Wrapfs: implement ->getattr

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use file_inode helper
Erez Zadok [Tue, 19 Nov 2013 22:21:31 +0000 (17:21 -0500)]
Wrapfs: use file_inode helper

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: call filemap_write_and_wait in ->flush
Erez Zadok [Tue, 19 Nov 2013 22:20:31 +0000 (17:20 -0500)]
Wrapfs: call filemap_write_and_wait in ->flush

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: handle new VFS API with delegation support
Erez Zadok [Tue, 19 Nov 2013 22:19:31 +0000 (17:19 -0500)]
Wrapfs: handle new VFS API with delegation support

For now, wrapfs isn't supporting NFS delegations.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoVFS: export vfs_path_lookup
Erez Zadok [Tue, 19 Nov 2013 22:18:31 +0000 (17:18 -0500)]
VFS: export vfs_path_lookup

In 3.12, this useful function was unexported: wrapfs needs a way to lookup
relative to a struct path and use a proper vfsmount, unlike lookup_one_len.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: ->readdir op now ->iterate
Erez Zadok [Tue, 19 Nov 2013 22:17:31 +0000 (17:17 -0500)]
Wrapfs: ->readdir op now ->iterate

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: copy lower inode attributes in ->ioctl
Erez Zadok [Wed, 5 Jun 2013 05:36:58 +0000 (01:36 -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>
10 years agoWrapfs: remove unnecessary call to vm_unmap in ->mmap
Erez Zadok [Wed, 5 Jun 2013 05:36:58 +0000 (01:36 -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>
10 years agoWrapfs: declare MODULE_ALIAS_FS
Erez Zadok [Wed, 5 Jun 2013 03:19:32 +0000 (23:19 -0400)]
Wrapfs: declare MODULE_ALIAS_FS

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: don't use FS_REVAL_DOT in fs_flags
Erez Zadok [Wed, 5 Jun 2013 03:19:32 +0000 (23:19 -0400)]
Wrapfs: don't use FS_REVAL_DOT in fs_flags

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: remove dependency on now-defunct CONFIG_EXPERIMENTAL
Erez Zadok [Wed, 5 Jun 2013 03:19:31 +0000 (23:19 -0400)]
Wrapfs: remove dependency on now-defunct CONFIG_EXPERIMENTAL

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: dentry_open() no longer does mntput/dput
Erez Zadok [Wed, 5 Jun 2013 03:19:31 +0000 (23:19 -0400)]
Wrapfs: dentry_open() no longer does mntput/dput

We need to grab a reference on the path before dentry_open, and drop it
after.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: no need to call mnt_want_write any longer
Erez Zadok [Wed, 5 Jun 2013 03:19:30 +0000 (23:19 -0400)]
Wrapfs: no need to call mnt_want_write any longer

Apparently this is now being done by the VFS.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: remove VM_CAN_NONLINEAR flag use in ->mmap
Erez Zadok [Wed, 5 Jun 2013 03:19:30 +0000 (23:19 -0400)]
Wrapfs: remove VM_CAN_NONLINEAR flag use in ->mmap

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: ->lookup takes flags not a nameidata
Erez Zadok [Wed, 5 Jun 2013 03:19:29 +0000 (23:19 -0400)]
Wrapfs: ->lookup takes flags not a nameidata

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: ->create no longer takes a nameidata, only a flag
Erez Zadok [Wed, 5 Jun 2013 03:19:29 +0000 (23:19 -0400)]
Wrapfs: ->create no longer takes a nameidata, only a flag

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: ->d_revalidate now takes namei flags, not nameidata
Erez Zadok [Wed, 5 Jun 2013 03:19:29 +0000 (23:19 -0400)]
Wrapfs: ->d_revalidate now takes namei flags, not nameidata

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: struct nameidata no longer has an open-intent data
Erez Zadok [Wed, 5 Jun 2013 03:19:28 +0000 (23:19 -0400)]
Wrapfs: struct nameidata no longer has an open-intent data

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: dentry_open now takes a struct path
Erez Zadok [Wed, 5 Jun 2013 03:19:28 +0000 (23:19 -0400)]
Wrapfs: dentry_open now takes a struct path

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use vm_munmap in ->mmap
Erez Zadok [Wed, 5 Jun 2013 03:19:27 +0000 (23:19 -0400)]
Wrapfs: use vm_munmap in ->mmap

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use clear_inode in evict_inode
Erez Zadok [Wed, 5 Jun 2013 03:19:27 +0000 (23:19 -0400)]
Wrapfs: use clear_inode in evict_inode

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use d_make_root
Erez Zadok [Wed, 5 Jun 2013 03:19:26 +0000 (23:19 -0400)]
Wrapfs: use d_make_root

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use mode_t
Erez Zadok [Tue, 31 Jan 2012 09:40:19 +0000 (04:40 -0500)]
Wrapfs: use mode_t

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use set_nlink()
Erez Zadok [Mon, 30 Jan 2012 01:34:27 +0000 (20:34 -0500)]
Wrapfs: use set_nlink()

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: drop our dentry in ->rmdir
Erez Zadok [Fri, 9 Sep 2011 04:47:49 +0000 (00:47 -0400)]
Wrapfs: drop our dentry in ->rmdir

Also clear nlinks on our inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use d_alloc_root
Erez Zadok [Tue, 6 Sep 2011 04:10:32 +0000 (00:10 -0400)]
Wrapfs: use d_alloc_root

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use d_set_d_op
Erez Zadok [Tue, 6 Sep 2011 04:10:31 +0000 (00:10 -0400)]
Wrapfs: use d_set_d_op

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: use updated vfs_path_lookup prototype
Erez Zadok [Tue, 6 Sep 2011 04:10:30 +0000 (00:10 -0400)]
Wrapfs: use updated vfs_path_lookup prototype

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: ->fsync updates for new prototype
Erez Zadok [Tue, 6 Sep 2011 04:10:30 +0000 (00:10 -0400)]
Wrapfs: ->fsync updates for new prototype

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: support LOOKUP_RCU in ->d_revalidate
Erez Zadok [Tue, 6 Sep 2011 04:10:29 +0000 (00:10 -0400)]
Wrapfs: support LOOKUP_RCU in ->d_revalidate

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: new ->permission prototype and fixes.
Erez Zadok [Tue, 6 Sep 2011 04:10:28 +0000 (00:10 -0400)]
Wrapfs: new ->permission prototype and fixes.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 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>
10 years agoWrapfs: remove extra debug in rmdir
Erez Zadok [Fri, 18 Mar 2011 17:14:28 +0000 (13:14 -0400)]
Wrapfs: remove extra debug in rmdir

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: port to 2.6.39
Erez Zadok [Fri, 18 Mar 2011 04:45:17 +0000 (00:45 -0400)]
Wrapfs: port to 2.6.39

Remove lock/unlock_kernel in ->fasync.
Convert from ->get_sb to ->mount op.
Remove include to smp_lock.h, added sched.h.

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: better handling of NFS silly-renamed files
Erez Zadok [Fri, 18 Mar 2011 03:21:55 +0000 (23:21 -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>
10 years agoWrapfs: update parent directory inode size in inode ops
Erez Zadok [Fri, 18 Mar 2011 03:21:55 +0000 (23:21 -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>
10 years agoWrapfs: remove unnecessary calls to copy lower inode->n_links
Erez Zadok [Fri, 18 Mar 2011 03:21:55 +0000 (23:21 -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>
10 years agoWrapfs: ->setattr fixes
Erez Zadok [Tue, 8 Mar 2011 04:20:33 +0000 (23:20 -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>
10 years agoWrapfs: update ->permission prototye and code for new iperm flag
Erez Zadok [Sun, 6 Mar 2011 21:23:16 +0000 (16:23 -0500)]
Wrapfs: update ->permission prototye and code for new iperm flag

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: handle maxbytes properly
Erez Zadok [Fri, 12 Nov 2010 23:15:05 +0000 (18:15 -0500)]
Wrapfs: handle maxbytes properly

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: support ->unlocked_ioctl and ->compat_ioctl
Erez Zadok [Sat, 11 Sep 2010 19:49:33 +0000 (15:49 -0400)]
Wrapfs: support ->unlocked_ioctl and ->compat_ioctl

Old ->ioctl was split into ->unlocked_ioctl and ->compat_ioctl.  Compat
version doesn't need to lock_kernel any longer.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: new vfs_statfs and ->evict_inode prototypes
Erez Zadok [Wed, 11 Aug 2010 03:50:14 +0000 (23:50 -0400)]
Wrapfs: new vfs_statfs and ->evict_inode prototypes

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: update ->fsync prototype
Erez Zadok [Sat, 7 Aug 2010 03:37:29 +0000 (23:37 -0400)]
Wrapfs: update ->fsync prototype

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: include slab.h
Erez Zadok [Tue, 20 Apr 2010 19:32:09 +0000 (15:32 -0400)]
Wrapfs: include slab.h

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: decrement nd_path on follow_link error
Erez Zadok [Fri, 26 Feb 2010 08:18:04 +0000 (03:18 -0500)]
Wrapfs: decrement nd_path on follow_link error

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

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoKconfig: hook to configure Wrapfs
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Kconfig: hook to configure Wrapfs

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoMakefile: hook to compile Wrapfs
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Makefile: hook to compile Wrapfs

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: file system magic number
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: file system magic number

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: Kconfig options
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: Kconfig options

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: main Makefile
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: main Makefile

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: vm_ops operations
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: vm_ops operations

Includes necessary address_space workaround ops.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: mount-time and module-linkage functions
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: mount-time and module-linkage functions

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: lookup-related functions
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: lookup-related functions

Main lookup function, nameidata helpers, and stacking-interposition
functions.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: file operations
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: file operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: dentry operations
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: dentry operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: inode operations
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: inode operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: superblock operations
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: superblock operations

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: main header file
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: main header file

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: Maintainers
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: Maintainers

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoDocumentation: index entry for Wrapfs
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Documentation: index entry for Wrapfs

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoWrapfs: introduction and usage documentation
Erez Zadok [Tue, 5 Jan 2010 01:45:06 +0000 (20:45 -0500)]
Wrapfs: introduction and usage documentation

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
10 years agoLinux 4.0.9 master v4.0.9
Greg Kroah-Hartman [Tue, 21 Jul 2015 17:10:57 +0000 (10:10 -0700)]
Linux 4.0.9

10 years agoInput: pixcir_i2c_ts - fix receive error
Frodo Lai [Tue, 16 Jun 2015 22:03:53 +0000 (15:03 -0700)]
Input: pixcir_i2c_ts - fix receive error

commit 469d7d22cea146e40efe8c330e5164b4d8f13934 upstream.

The i2c_master_recv() uses readsize to receive data from i2c but compares
to size of rdbuf which is always 27. This would cause problem when the
max_fingers is not 5. Change the comparison value to readsize instead.

Fixes: 36874c7e219 ("Input: pixcir_i2c_ts - support up to 5 fingers and
hardware tracking IDs:)

Signed-off-by: Frodo Lai <frodo_lai@bcmcom.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoof/pci: Fix pci_address_to_pio() conversion of CPU address to I/O port
Zhichang Yuan [Fri, 24 Apr 2015 09:05:09 +0000 (17:05 +0800)]
of/pci: Fix pci_address_to_pio() conversion of CPU address to I/O port

commit 5dbb4c6167229c8d4f528e8ec26699a7305000a3 upstream.

41f8bba7f555 ("of/pci: Add pci_register_io_range() and
pci_pio_to_address()") added support for systems with several I/O ranges
described by OF bindings.  It modified pci_address_to_pio() look up the
io_range for a given CPU physical address, but the conversion was wrong.

Fix the conversion of address to I/O port.

[bhelgaas: changelog]
Fixes: 41f8bba7f555 ("of/pci: Add pci_register_io_range() and pci_pio_to_address()")
Signed-off-by: Zhichang Yuan <yuanzhichang@hisilicon.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoPCI: pciehp: Wait for hotplug command completion where necessary
Alex Williamson [Mon, 8 Jun 2015 23:10:50 +0000 (17:10 -0600)]
PCI: pciehp: Wait for hotplug command completion where necessary

commit a5dd4b4b0570b3bf880d563969b245dfbd170c1e upstream.

The commit referenced below deferred waiting for command completion until
the start of the next command, allowing hardware to do the latching
asynchronously.  Unfortunately, being ready to accept a new command is the
only indication we have that the previous command is completed.  In cases
where we need that state change to be enabled, we must still wait for
completion.  For instance, pciehp_reset_slot() attempts to disable anything
that might generate a surprise hotplug on slots that support presence
detection.  If we don't wait for those settings to latch before the
secondary bus reset, we negate any value in attempting to prevent the
spurious hotplug.

Create a base function with optional wait and helper functions so that
pcie_write_cmd() turns back into the "safe" interface which waits before
and after issuing a command and add pcie_write_cmd_nowait(), which
eliminates the trailing wait for asynchronous completion.  The following
functions are returned to their previous behavior:

  pciehp_power_on_slot
  pciehp_power_off_slot
  pcie_disable_notification
  pciehp_reset_slot

The rationale is that pciehp_power_on_slot() enables the link and therefore
relies on completion of power-on.  pciehp_power_off_slot() and
pcie_disable_notification() need a wait because data structures may be
freed after these calls and continued signaling from the device would be
unexpected.  And, of course, pciehp_reset_slot() needs to wait for the
scenario outlined above.

Fixes: 3461a068661c ("PCI: pciehp: Wait for hotplug command completion lazily")
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoPCI: Add pci_bus_addr_t
Yinghai Lu [Thu, 28 May 2015 00:23:51 +0000 (17:23 -0700)]
PCI: Add pci_bus_addr_t

commit 3a9ad0b4fdcd57f775d3615004c8c64c021a9e7d upstream.

David Ahern reported that d63e2e1f3df9 ("sparc/PCI: Clip bridge windows
to fit in upstream windows") fails to boot on sparc/T5-8:

  pci 0000:06:00.0: reg 0x184: can't handle BAR above 4GB (bus address 0x110204000)

The problem is that sparc64 assumed that dma_addr_t only needed to hold DMA
addresses, i.e., bus addresses returned via the DMA API (dma_map_single(),
etc.), while the PCI core assumed dma_addr_t could hold *any* bus address,
including raw BAR values.  On sparc64, all DMA addresses fit in 32 bits, so
dma_addr_t is a 32-bit type.  However, BAR values can be 64 bits wide, so
they don't fit in a dma_addr_t.  d63e2e1f3df9 added new checking that
tripped over this mismatch.

Add pci_bus_addr_t, which is wide enough to hold any PCI bus address,
including both raw BAR values and DMA addresses.  This will be 64 bits
on 64-bit platforms and on platforms with a 64-bit dma_addr_t.  Then
dma_addr_t only needs to be wide enough to hold addresses from the DMA API.

[bhelgaas: changelog, bugzilla, Kconfig to ensure pci_bus_addr_t is at
least as wide as dma_addr_t, documentation]
Fixes: d63e2e1f3df9 ("sparc/PCI: Clip bridge windows to fit in upstream windows")
Fixes: 23b13bc76f35 ("PCI: Fail safely if we can't handle BARs larger than 4GB")
Link: http://lkml.kernel.org/r/CAE9FiQU1gJY1LYrxs+ma5LCTEEe4xmtjRG0aXJ9K_Tsu+m9Wuw@mail.gmail.com
Link: http://lkml.kernel.org/r/1427857069-6789-1-git-send-email-yinghai@kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=96231
Reported-by: David Ahern <david.ahern@oracle.com>
Tested-by: David Ahern <david.ahern@oracle.com>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoPCI: Propagate the "ignore hotplug" setting to parent
Rafael J. Wysocki [Mon, 13 Apr 2015 14:23:36 +0000 (16:23 +0200)]
PCI: Propagate the "ignore hotplug" setting to parent

commit 0824965140fff1bf640a987dc790d1594a8e0699 upstream.

Refine the mechanism introduced by commit f244d8b623da ("ACPIPHP / radeon /
nouveau: Fix VGA switcheroo problem related to hotplug") to propagate the
ignore_hotplug setting of the device to its parent bridge in case hotplug
notifications related to the graphics adapter switching are given for the
bridge rather than for the device itself (they need to be ignored in both
cases).

Link: https://bugzilla.kernel.org/show_bug.cgi?id=61891
Link: https://bugs.freedesktop.org/show_bug.cgi?id=88927
Fixes: b440bde74f04 ("PCI: Add pci_ignore_hotplug() to ignore hotplug events for a device")
Reported-and-tested-by: tiagdtd-lava <tiagdtd-lava@yahoo.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>