direct-io: make O_DIRECT IO path be page based
authorJens Axboe <jens.axboe@oracle.com>
Tue, 18 Aug 2009 07:58:17 +0000 (09:58 +0200)
committerJens Axboe <axboe@nehalem.(none)>
Thu, 3 Sep 2009 11:41:32 +0000 (13:41 +0200)
commitf0850c5a014b1d023fccad8ed380130023693b70
tree5d5b600cebc681155ce7fe56f5c4e8c37e3ebc2e
parent3cbcfd97ddcfd9ff36ac92cc461412e9a2b9772e
direct-io: make O_DIRECT IO path be page based

Currently we pass in the iovec array and let the O_DIRECT core
handle the get_user_pages() business. This work, but it means that
we can ever only use user pages for O_DIRECT.

Switch the aops->direct_IO() and below code to use page arrays
instead, so that it doesn't make any assumptions about who the pages
belong to. This works directly for all users but NFS, which just
uses the same helper that the generic mapping read/write functions
also call.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fs/direct-io.c
fs/nfs/direct.c
fs/nfs/file.c
include/linux/fs.h
include/linux/nfs_fs.h
mm/filemap.c