Messages in this thread | | | Date | Fri, 23 Nov 2012 11:33:39 -0600 | From | Dave Kleikamp <> | Subject | Re: [PATCH v4 00/31] loop: Issue O_DIRECT aio using bio_vec |
| |
On 11/22/2012 01:47 PM, Christoph Hellwig wrote: > On Wed, Nov 21, 2012 at 04:40:40PM -0600, Dave Kleikamp wrote: >> It introduces new file ops, read_iter() and write_iter(), that replace the >> aio_read() and aio_write() operations. The iov_iter structure can now contain >> either a user-space iovec or a kernel-space bio_vec. Since it would be >> overly complicated to replace every instance of aio_read() and aio_write(), >> the old operations are not removed, but file systems implementing the new >> ones need not keep the old ones. > > How many instance of the old ones are left? I'd really prefer to make > the full transition very quickly, even if not nessecarily in a single > patchset.
The only file systems left are ceph, cifs, fuse and ntfs, but there are the pipe driver and quite a few character devices that implement aio_read and aio_write. It would be easy enough put a read/write_iter wrapper around the non-block devices that return an error or even panic if !iov_iter_has_iovec(iter), but I didn't like the way it looked.
(I think "git grep -e \\\.aio_read -e \\\.aio_write" find them all.)
If the consensus is to go that route, I'd be happy to work on a follow-up patchset.
Shaggy
| |