linux/fs/ocfs2
Christoph Hellwig 2fe17c1075 fallocate should be a file operation
Currently all filesystems except XFS implement fallocate asynchronously,
while XFS forced a commit.  Both of these are suboptimal - in case of O_SYNC
I/O we really want our allocation on disk, especially for the !KEEP_SIZE
case where we actually grow the file with user-visible zeroes.  On the
other hand always commiting the transaction is a bad idea for fast-path
uses of fallocate like for example in recent Samba versions.   Given
that block allocation is a data plane operation anyway change it from
an inode operation to a file operation so that we have the file structure
available that lets us check for O_SYNC.

This also includes moving the code around for a few of the filesystems,
and remove the already unnedded S_ISDIR checks given that we only wire
up fallocate for regular files.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2011-01-17 02:25:31 -05:00
..
cluster Merge branch 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-block 2011-01-13 10:45:01 -08:00
dlm Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2011-01-11 11:28:34 -08:00
dlmfs
acl.c
acl.h
alloc.c ocfs2: Remove unused truncate function from alloc.c 2011-01-07 18:03:00 -08:00
alloc.h ocfs2: Remove unused truncate function from alloc.c 2011-01-07 18:03:00 -08:00
aops.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2011-01-11 11:28:34 -08:00
aops.h
blockcheck.c
blockcheck.h
buffer_head_io.c
buffer_head_io.h
dcache.c fs: dcache per-inode inode alias locking 2011-01-07 17:50:31 +11:00
dcache.h
dir.c
dir.h
dlmglue.c
dlmglue.h
export.c switch ocfs2, close races 2011-01-12 20:02:46 -05:00
export.h
extent_map.c
extent_map.h
file.c fallocate should be a file operation 2011-01-17 02:25:31 -05:00
file.h
heartbeat.c
heartbeat.h
inode.c
inode.h
ioctl.c
ioctl.h
journal.c
journal.h
Kconfig ocfs2: Make OCFS2_FS depend on CONFIGFS_FS 2011-01-16 21:22:40 +00:00
localalloc.c
localalloc.h
locks.c
locks.h
Makefile
mmap.c
mmap.h
namei.c switch ocfs2, close races 2011-01-12 20:02:46 -05:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h
ocfs2_ioctl.h
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2.h
quota_global.c
quota_local.c
quota.h
refcounttree.c
refcounttree.h
reservations.c
reservations.h
resize.c
resize.h
slot_map.c
slot_map.h
stack_o2cb.c
stack_user.c
stackglue.c
stackglue.h
suballoc.c
suballoc.h
super.c switch ocfs2, close races 2011-01-12 20:02:46 -05:00
super.h
symlink.c
symlink.h
sysfile.c
sysfile.h
uptodate.c
uptodate.h
ver.c
ver.h
xattr.c
xattr.h