linux/fs/gfs2
Steven Whitehouse d1665e4142 [GFS2] Put back O_DIRECT support
This patch adds back O_DIRECT support with various caveats
attached:

 1. Journaled data can be read via O_DIRECT since its now the
    same on disk format as normal data files.
 2. Journaled data writes with O_DIRECT will be failed sliently
    back to normal writes (should we really do this I wonder or
    should we return an error instead?)
 3. Stuffed files will be failed back to normal buffered I/O
 4. All the usual corner cases (write beyond current end of file,
    write to an unallocated block) will also revert to normal buffered I/O.

The I/O path is slightly odd as reads arrive at the page cache layer
with the lock for the file already held, but writes arrive unlocked.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2006-02-14 11:54:42 +00:00
..
locking [GFS2] Only two args for kobject_uevent() in locking/dlm/mount.c 2006-01-18 09:34:14 +00:00
acl.c [GFS2] Add an additional argument to gfs2_trans_add_bh() 2006-01-18 11:19:28 +00:00
acl.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
bits.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
bits.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
bmap.c [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
bmap.h [GFS2] Remove unused prototype 2006-01-30 13:36:53 +00:00
daemon.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
daemon.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
dir.c [GFS2] Change ondisk format (hopefully for the last time) 2006-02-13 16:21:47 +00:00
dir.h [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
eaops.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
eaops.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
eattr.c [GFS2] Add an additional argument to gfs2_trans_add_bh() 2006-01-18 11:19:28 +00:00
eattr.h [GFS2] Remove unused code from various files 2006-01-18 10:29:04 +00:00
format.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
gfs2.h [GFS2] Remove gfs2_databuf in favour of gfs2_bufdata structure 2006-01-18 13:14:40 +00:00
glock.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
glock.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
glops.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
glops.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
incore.h [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
inode.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
inode.h [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
Kconfig [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
lm_interface.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
lm.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
lm.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
locking.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
log.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
log.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
lops.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
lops.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
lvb.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
lvb.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
main.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
Makefile [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
meta_io.c [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
meta_io.h [GFS2] Rename gfs2_meta_pin to gfs2_pin 2006-01-18 13:38:44 +00:00
mount.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
mount.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ondisk.c [GFS2] Update init_dinode() to reduce stack usage 2006-01-18 10:57:10 +00:00
ops_address.c [GFS2] Put back O_DIRECT support 2006-02-14 11:54:42 +00:00
ops_address.h [GFS2] Rename get_block and make it extern 2006-01-30 09:39:10 +00:00
ops_dentry.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ops_dentry.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ops_export.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
ops_export.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ops_file.c [GFS2] Put back O_DIRECT support 2006-02-14 11:54:42 +00:00
ops_file.h [GFS2] Add gfs2_internal_read() 2006-01-30 18:34:10 +00:00
ops_fstype.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
ops_fstype.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ops_inode.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
ops_inode.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ops_super.c [GFS2] Add gfs2_internal_read() 2006-01-30 18:34:10 +00:00
ops_super.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
ops_vm.c [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
ops_vm.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
page.c [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
page.h [GFS2] Update truncate function (shrinking partial blocks) 2006-01-31 10:00:25 +00:00
quota.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
quota.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
recovery.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
recovery.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
rgrp.c [GFS2] Add gfs2_internal_read() 2006-01-30 18:34:10 +00:00
rgrp.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
super.c [GFS2] Fix for root inode ref count bug 2006-02-13 12:27:43 +00:00
super.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
sys.c [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
sys.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
trans.c [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
trans.h [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
unlinked.c [GFS2] Add gfs2_internal_read() 2006-01-30 18:34:10 +00:00
unlinked.h [GFS2] The core of GFS2 2006-01-16 16:50:04 +00:00
util.c [GFS2] Make journaled data files identical to normal files on disk 2006-02-08 11:50:51 +00:00
util.h [GFS2] Remove unused code from various files 2006-01-18 10:29:04 +00:00