Hi, I'd like to discuss the current state and future direction of the DIO code.
I and others have been kicking around the idea for some time now of reworking
direct IO at the filesystem level in terms of bios; this will radically simplify
fs/direct-IO.c, and solve some other longstanding issues, like double usage of
the page cache by the loopback device - the goal will be for things like loop to
just be able to submit bios to the filesystem code.
Immutable biovecs are now almost upstream, which was a major prereq; this helps
enables a DIO rewrite that basically pushes bios up a layer. Soon, we'll need to
start reworking vfs interfaces, and input from the filesystem developers
(especially btrfs) will be necessary there.