Hello, Commit b685d3d65ac7 "block: treat REQ_FUA and REQ_PREFLUSH as synchronous" made requests with REQ_FUA and REQ_PREFLUSH to be treated as synchronous and dropped REQ_SYNC from definitions of WRITE_FUA and friends. This however introduced a bunch of bugs to filesystems (I know about ext4, btrfs, f2fs, gfs2, reiserfs regressing because of this) because they implicitely expected REQ_FUA or REQ_PREFLUSH implies a synchronous request. At the first sight they do however generic_make_request_checks() will strip REQ_FUA and REQ_PREFLUSH flags from a bio if the underlying storage does not have volatile write cache and so writes suddenly become async. I will go and fix filesystems to explicitely set REQ_SYNC if they want sync behavior as that is a good cleanup anyway but I wanted to question whether it makes sense to treat REQ_FUA and REQ_PREFLUSH ops as synchronous in op_is_sync() since callers cannot rely on this anyway... Thoughts? Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR