I think Darrick has a very valid concern here - using RWF_* flags to affect inode or fd-wide state is extremely counter productive. Combined with the fact that the streams need a special setup in NVMe I'm tempted to say that the interface really should be fadvise or similar, which would keep the setup out of the I/O path and make clear it's a sticky interface. For direct I/O RWF_* would make some sense, but we'd still have to deal with the setup issue.