On Wed, Dec 20, 2023 at 10:12 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Wed, Dec 20, 2023 at 05:27:14PM -0800, Song Liu wrote: > > Upper layer (fs, etc.) may issue flush with something like: > > > > bio_reset(bio, bdev, REQ_OP_FLUSH); > > bio->bi_end_io = xxx; > > submit_bio(bio); > > No, they can't. REQ_OP_FLUSH is currently only used by request > based drivers and only generated by the flush state machine. Hmm... Then this call trace from bcachefs is the exception here: bch2_journal_write=> submit_bio=> ... md_handle_request => raid5_make_request => chunk_aligned_read => raid5_read_one_chunk => > (Not that I particularly like this wart, I'd much prefer file systems > to submit a REQ_OP_FLUSH than an empty write with a preflush flag, > but that's not a trivial change). Kent, I think we need to update how bcachefs issue flushes. Thanks, Song