[GFS2] Put back O_DIRECT support
authorSteven Whitehouse <swhiteho@redhat.com>
Tue, 14 Feb 2006 11:54:42 +0000 (11:54 +0000)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 14 Feb 2006 11:54:42 +0000 (11:54 +0000)
commitd1665e414297c3a46fd80cb8242ad0c8e82acae7
tree7cb19fc4cbfc21d6d890dd3b373d3854920862db
parentfc69d0d336214219abb521d8ff060f786d7f369e
[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>
fs/gfs2/ops_address.c
fs/gfs2/ops_file.c