[PATCH 0/4] Page based O_DIRECT v2

Jens Axboe
2009-08-18T08:35:06Z

Hi,

Updated patchset for page based O_DIRECT. I didn't include the
loop bits this time, lets focus on getting these core bits into
shape and then loop is easily patchable on top of this.

Changes since last post:

- Changed do_dio() to generic_file_direct_IO() as per Christophs
suggestion.
- Split the first patch into two parts. One simply adds dio_args
and maintains the current code, the next has the functional change
but without changing file systems (except NFS).
- Add ->rw to dio_args (Christoph).
- A locking fixup. Not really related, but should be fixed up anyways.

There are at least two pending things to work on:

1) NFS is still broken, I get a crash in freeing some data that
is not related to the pages. Will debug this.
2) As Christoph suggested, we need some way to wait for a dio
when all segments are submitted. Currently it waits for each
segment. Not sure how best to solve this issue, will think a
bit more about this. Basically we need to pass down the wait
list to the generic_file_direct_IO() and have that do the
queue kick and wait.

--
Jens Axboe