All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Pavel Begunkov <asml.silence@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org, Dave Chinner <david@fromorbit.com>,
	io-uring@vger.kernel.org, linux-xfs@vger.kernel.org,
	wu lei <uwydoc@gmail.com>
Subject: Re: [PATCH v2 1/1] iomap: propagate nowait to block layer
Date: Tue, 4 Mar 2025 17:34:31 -0800	[thread overview]
Message-ID: <Z8eqJ5DLVBF0hF_W@infradead.org> (raw)
In-Reply-To: <d1b985d3-aa2b-4b63-99bd-7ba0ea016821@gmail.com>

On Wed, Mar 05, 2025 at 12:45:52AM +0000, Pavel Begunkov wrote:
> It's not something recent. After some digging I think the
> one I remember is
> 
> https://lore.kernel.org/all/20190717150445.1131-2-axboe@kernel.dk/
> 
> Remove by
> 
> commit 7b6620d7db566a46f49b4b9deab9fa061fd4b59b
> Author: Jens Axboe <axboe@kernel.dk>
> Date:   Thu Aug 15 11:09:16 2019 -0600
> 
>     block: remove REQ_NOWAIT_INLINE

That does indeed look pretty broken, mostly because it doesn't actually
return the errors inline as return values but tries to emulate it.

> > If you don't want to do synchronous wouldblock errors that's your
> > only option.  I think it would suck badly, but it's certainly easier
> > to backport.
> 
> Is there some intrinsic difference of iomap from the block file
> in block/fops.c? Or is that one broken?

block/fops.c has roughly the same issue, but it's not anywhere near
as sever, as block/fops.c doesn't have any file system state that
gets confused by the async BLK_STS_AGAIN.  But unless io_uring knows
how to rewind the state for that case it probably also doesn't work
properly.  It might be worth to look into testcases that actually
exercise the nowait I/O on block devices with annoyingly small limits
or that split a lot (like RAID0).


  reply	other threads:[~2025-03-05  1:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-04 12:18 [PATCH v2 1/1] iomap: propagate nowait to block layer Pavel Begunkov
2025-03-04 16:07 ` Christoph Hellwig
2025-03-04 16:41   ` Pavel Begunkov
2025-03-04 16:59     ` Christoph Hellwig
2025-03-04 17:36       ` Jens Axboe
2025-03-04 23:26         ` Christoph Hellwig
2025-03-04 23:43           ` Jens Axboe
2025-03-04 23:49             ` Christoph Hellwig
2025-03-05  0:14               ` Pavel Begunkov
2025-03-05  0:18                 ` Pavel Begunkov
2025-03-04 17:54       ` Pavel Begunkov
2025-03-04 23:28         ` Christoph Hellwig
2025-03-04 19:22     ` Darrick J. Wong
2025-03-04 20:35       ` Pavel Begunkov
2025-03-05  0:01         ` Christoph Hellwig
2025-03-05  0:45           ` Pavel Begunkov
2025-03-05  1:34             ` Christoph Hellwig [this message]
2025-03-04 21:11 ` Dave Chinner
2025-03-04 22:47   ` Pavel Begunkov
2025-03-04 23:40     ` Christoph Hellwig
2025-03-05  1:19     ` Dave Chinner
2025-03-05 14:10       ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z8eqJ5DLVBF0hF_W@infradead.org \
    --to=hch@infradead.org \
    --cc=asml.silence@gmail.com \
    --cc=brauner@kernel.org \
    --cc=david@fromorbit.com \
    --cc=djwong@kernel.org \
    --cc=io-uring@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=uwydoc@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.