]> git.hungrycats.org Git - linux/commit
NFS O_DIRECT: Change the NFS O_DIRECT path so that it
authorTrond Myklebust <trond.myklebust@fys.uio.no>
Thu, 20 May 2004 11:45:19 +0000 (07:45 -0400)
committerTrond Myklebust <trond.myklebust@fys.uio.no>
Thu, 20 May 2004 11:45:19 +0000 (07:45 -0400)
commit78f673caa6ab336f52834b73b477fb7ad32d734e
tree1a9de05d3b4324ebfdd5a81c4c5f887cc5bbf7c4
parente89b7533e3b1e6c0e23e2a2ca70788e2528a4139
NFS O_DIRECT: Change the NFS O_DIRECT path so that it
    no longer calls the generic VFS read and write routines.
    This allows all application read requests to pass through
    to the server, instead of just the ones that appear to be
    inside the file. this eliminates the requirement to use a
    GETATTR operation before each read or write to determine
    where the EOF is. This is a significant performance and
    scalability win.

    It also removes all requirements for holding the inode
    semaphore during NFS direct reads and writes, as the read
    and write logic no longer needs atomic access to the size
    of the file. this also helps client CPU scalability by
    reducing the serialization of writes against a single file.

    Patch by Chuck Lever
fs/nfs/direct.c
fs/nfs/file.c
include/linux/nfs_fs.h