linux/fs
Boaz Harrosh be64f884be dax: unify ext2/4_{dax,}_file_operations
The original dax patchset split the ext2/4_file_operations because of the
two NULL splice_read/splice_write in the dax case.

In the vfs if splice_read/splice_write are NULL we then call
default_splice_read/write.

What we do here is make generic_file_splice_read aware of IS_DAX() so the
original ext2/4_file_operations can be used as is.

For write it appears that iter_file_splice_write is just fine.  It uses
the regular f_op->write(file,..) or new_sync_write(file, ...).

Signed-off-by: Boaz Harrosh <boaz@plexistor.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Dave Chinner <dchinner@redhat.com>
Cc: Matthew Wilcox <willy@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-04-15 16:35:20 -07:00
..
9p Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
adfs
affs Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-14 15:31:03 -07:00
afs Merge remote-tracking branch 'dh/afs' into for-davem 2015-04-11 15:51:09 -04:00
autofs4
befs
bfs fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
btrfs Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
cachefiles
ceph Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
cifs mm, mempool: do not allow atomic resizing 2015-04-14 16:49:06 -07:00
coda
configfs
cramfs
debugfs debugfs: allow bad parent pointers to be passed in 2015-04-03 16:30:12 +02:00
devpts
dlm
ecryptfs Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
efivarfs
efs
exofs
exportfs
ext2 dax: unify ext2/4_{dax,}_file_operations 2015-04-15 16:35:20 -07:00
ext3 fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
ext4 dax: unify ext2/4_{dax,}_file_operations 2015-04-15 16:35:20 -07:00
f2fs fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
fat fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
freevxfs
fscache
fuse Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
gfs2 GFS2: merge window 2015-04-14 16:09:18 -07:00
hfs fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
hfsplus Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-14 15:31:03 -07:00
hostfs
hpfs
hppfs
hugetlbfs hugetlbfs: accept subpool min_size mount option and setup accordingly 2015-04-15 16:35:18 -07:00
isofs
jbd
jbd2
jffs2 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-04-14 09:50:27 -07:00
jfs fs, jfs: remove slab object constructor 2015-04-15 16:35:18 -07:00
kernfs
lockd
logfs
minix
ncpfs
nfs Merge branch 'akpm' (patches from Andrew) 2015-04-14 16:49:17 -07:00
nfs_common
nfsd nfsd: require an explicit option to enable pNFS 2015-03-30 16:05:26 -04:00
nilfs2 Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
nls
notify
ntfs Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
ocfs2 Merge branch 'akpm' (patches from Andrew) 2015-04-14 16:49:17 -07:00
omfs
openpromfs
overlayfs ovl: upper fs should not be R/O 2015-03-18 10:29:48 +01:00
proc
pstore
qnx4
qnx6
quota
ramfs
reiserfs Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
romfs
squashfs
sysfs sysfs: Only accept read/write permissions for file attributes 2015-03-25 13:27:57 +01:00
sysv
tracefs
ubifs fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
udf fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
ufs
xfs Merge branch 'iocb' into for-next 2015-04-11 22:24:41 -04:00
aio.c Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-14 15:31:03 -07:00
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE 2015-04-14 16:49:05 -07:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
block_dev.c fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
buffer.c page_writeback: clean up mess around cancel_dirty_page() 2015-04-14 16:49:01 -07:00
char_dev.c
compat_binfmt_elf.c
compat_ioctl.c Bluetooth: bnep: Add support for get bnep features via ioctl 2015-04-03 23:21:34 +02:00
compat.c
coredump.c
dax.c dax: use pfn_mkwrite to update c/mtime + freeze protection 2015-04-15 16:35:20 -07:00
dcache.c dcache: return -ESTALE not -EBUSY on distributed fs race 2015-04-11 22:24:33 -04:00
dcookies.c
direct-io.c fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
drop_caches.c
eventfd.c
eventpoll.c
exec.c
fcntl.c
fhandle.c
file_table.c
file.c
filesystems.c
fs_pin.c
fs_struct.c
fs-writeback.c
inode.c
internal.h
ioctl.c
Kconfig
Kconfig.binfmt mm: split ET_DYN ASLR from mmap ASLR 2015-04-14 16:49:05 -07:00
libfs.c
locks.c locks: fix file_lock deletion inside loop 2015-03-27 07:18:20 -04:00
Makefile This adds the new tracefs file system. This has been in linux-next for 2015-04-14 10:22:29 -07:00
mbcache.c
mount.h
mpage.c
namei.c remove incorrect comment in lookup_one_len() 2015-04-11 22:24:30 -04:00
namespace.c
no-block.c
nsfs.c
open.c NFS: fix BUG() crash in notify_change() with patch to chown_common() 2015-04-11 22:24:34 -04:00
pipe.c fs: move struct kiocb to fs.h 2015-03-25 20:28:11 -04:00
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c switch {compat_,}do_readv_writev() to {compat_,}import_iovec() 2015-04-11 22:27:12 -04:00
readdir.c
select.c
seq_file.c
signalfd.c
splice.c dax: unify ext2/4_{dax,}_file_operations 2015-04-15 16:35:20 -07:00
stack.c
stat.c switch security_inode_getattr() to struct path * 2015-04-11 22:24:32 -04:00
statfs.c
super.c cleancache: remove limit on the number of cleancache enabled filesystems 2015-04-14 16:49:03 -07:00
sync.c
timerfd.c
utimes.c
xattr.c