In current scenarios, for XFS, it would mean that a page invalidation would end up being a writeback error. So, if iomap returns zero, fall back to biffered I/O. XFS has never supported fallback to buffered I/O. I hope it is not "never will" ;) With mixed buffered and direct writes in btrfs, the pages may not be released the extent may be locked in the ordered extents cleanup thread, which must make changes to the btrfs trees. In case of btrfs, if it is possible to wait, depending on the memory flags passed, wait for extent bit to be cleared so direct I/O is executed so there is no need to fallback to buffered I/O. -- Goldwyn