linux/Documentation/filesystems
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
..
caching fscache: convert object to use workqueue instead of slow-work 2010-07-22 22:58:34 +02:00
configfs Documentation: make configfs example code simpler, clearer 2010-11-18 15:00:46 -08:00
nfs NFS: rename nfs.upcall -> nfs.idmap 2010-10-26 13:57:10 -04:00
pohmelfs
9p.txt fs/9p: Add access = client option to opt in acl evaluation. 2010-10-28 09:08:46 -05:00
00-INDEX smbfs: move to drivers/staging 2010-10-05 09:08:21 -07:00
adfs.txt
affs.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
afs.txt
autofs4-mount-control.txt
automount-support.txt
befs.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
bfs.txt
btrfs.txt
ceph.txt
cifs.txt
coda.txt
cramfs.txt
debugfs.txt
devpts.txt
directory-locking
dlmfs.txt
dnotify_test.c
dnotify.txt
ecryptfs.txt
exofs.txt
ext2.txt
ext3.txt
ext4.txt ext4: add support for lazy inode table initialization 2010-10-27 21:30:05 -04:00
fiemap.txt
files.txt
fuse.txt
gfs2-glocks.txt
gfs2-uevents.txt
gfs2.txt
hfs.txt
hfsplus.txt
hpfs.txt
inotify.txt
isofs.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
jfs.txt
Locking fallocate should be a file operation 2011-01-17 02:25:31 -05:00
locks.txt
logfs.txt
Makefile
mandatory-locking.txt
ncpfs.txt
nilfs2.txt nilfs2: add nodiscard mount option 2010-07-23 10:02:12 +09:00
ntfs.txt NTFS: writev() fix and maintenance/contact details update 2011-01-12 08:35:53 -08:00
ocfs2.txt ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes. 2010-10-11 14:14:55 -07:00
omfs.txt
path-lookup.txt fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
porting Merge branch 'vfs-scale-working' of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin 2011-01-13 20:14:13 -08:00
proc.txt oom: allow a non-CAP_SYS_RESOURCE proces to oom_score_adj down 2011-01-13 17:32:35 -08:00
quota.txt
ramfs-rootfs-initramfs.txt
relay.txt
romfs.txt
seq_file.txt
sharedsubtree.txt Documentation: Fix trivial typo in filesystems/sharedsubtree.txt 2010-10-25 21:18:21 -04:00
spufs.txt
squashfs.txt Squashfs: update Kconfig and documentation for LZO 2010-08-05 23:42:54 +01:00
sysfs-pci.txt PCI: Allow read/write access to sysfs I/O port resources 2010-07-30 09:32:08 -07:00
sysfs-tagging.txt
sysfs.txt sysfs: Fix one more signature discrepancy between sysfs implementation and docs. 2010-08-05 13:53:34 -07:00
sysv-fs.txt
tmpfs.txt
ubifs.txt
udf.txt
ufs.txt
vfat.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
vfs.txt Unexport do_add_mount() and add in follow_automount(), not ->d_automount() 2011-01-15 20:07:48 -05:00
xfs-delayed-logging-design.txt xfs: remove experimental tag from the delaylog option 2010-11-10 12:00:47 -06:00
xfs.txt xfs: remove obsolete osyncisosync mount option 2010-07-26 13:16:51 -05:00
xip.txt