Hello, Currently the generic DIO code calls inode_dio_begin/inode_dio_end if DIO_SKIP_DIO_COUNT is not set. However, te generic ode doesn't really know if there is a lock synchronizing all the various inode_dio_* operations. As per inode_dio_wait comment : Must be called under a lock that serializes taking new references to i_dio_count, usually by inode->i_mutex. So is it at all correct to increment i_dio_count in generic dio code without imposing strict locking requirement? Currently, most major filesystems (Ext4/xfs/btrfs) do modify i_dio_count under their own locks. Perhaps it's best if i_dio_count modification are removed from the generic code, what do people think about that?