Thread (9 messages) 9 messages, 4 authors, 2023-12-21

Re: [PATCH 1/2] block: Check REQ_OP_FLUSH in op_is_flush()

From: Song Liu <song@kernel.org>
Date: 2023-12-21 07:53:57
Also in: linux-block

On Wed, Dec 20, 2023 at 10:12 PM Christoph Hellwig [off-list ref] wrote:
On Wed, Dec 20, 2023 at 05:27:14PM -0800, Song Liu wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help