From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: dm-devel@redhat.com, linux-block@vger.kernel.org
Subject: Re: [PATCH 4/4] dm: fix REQ_RAHEAD handling
Date: Mon, 15 May 2017 14:46:41 -0400 [thread overview]
Message-ID: <20170515184641.GA22139@redhat.com> (raw)
In-Reply-To: <20170515152839.23375-5-hch@lst.de>
On Mon, May 15 2017 at 11:28P -0400,
Christoph Hellwig <hch@lst.de> wrote:
> A few (but not all) dm targets use a special EWOULDBLOCK error code for
> failing REQ_RAHEAD requests that fail due to a lack of available resources.
> But no one else knows about this magic code, and lower level drivers also
> don't generate it when failing read-ahead requests for similar reasons.
>
> So remove this special casing and ignore all additional error handling for
> REQ_RAHEAD - if this was a real underlying error we'd get a normal read
> once the real read comes in.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> drivers/md/dm-raid1.c | 4 ++--
> drivers/md/dm-stripe.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
> index a95cbb80fb34..5e30b08b91d9 100644
> --- a/drivers/md/dm-raid1.c
> +++ b/drivers/md/dm-raid1.c
> @@ -1214,7 +1214,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio)
> */
> if (!r || (r == -EWOULDBLOCK)) {
> if (bio->bi_opf & REQ_RAHEAD)
> - return -EWOULDBLOCK;
> + return -EIO;
>
> queue_bio(ms, bio, rw);
> return DM_MAPIO_SUBMITTED;
> @@ -1258,7 +1258,7 @@ static int mirror_end_io(struct dm_target *ti, struct bio *bio, int error)
> if (error == -EOPNOTSUPP)
> return error;
>
> - if ((error == -EWOULDBLOCK) && (bio->bi_opf & REQ_RAHEAD))
> + if (bio->bi_opf & REQ_RAHEAD)
> return error;
>
> if (unlikely(error)) {
> diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c
> index 75152482f3ad..780e95889a7c 100644
> --- a/drivers/md/dm-stripe.c
> +++ b/drivers/md/dm-stripe.c
> @@ -384,7 +384,7 @@ static int stripe_end_io(struct dm_target *ti, struct bio *bio, int error)
> if (!error)
> return 0; /* I/O complete */
>
> - if ((error == -EWOULDBLOCK) && (bio->bi_opf & REQ_RAHEAD))
> + if (bio->bi_opf & REQ_RAHEAD)
> return error;
>
> if (error == -EOPNOTSUPP)
> --
> 2.11.0
>
I'll let this one go for now.. meaning I won't pick it up, nor will I
send it for 4.12. Please just roll this into your broader block work
that you mentioned.
prev parent reply other threads:[~2017-05-15 18:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-15 15:28 dm fixes for 4.12-rc Christoph Hellwig
2017-05-15 15:28 ` [PATCH 1/4] dm rq: add a missing break to map_request Christoph Hellwig
2017-05-15 18:25 ` Mike Snitzer
2017-05-15 15:28 ` [PATCH 2/4] dm mpath: don't return -EIO from dm_report_EIO Christoph Hellwig
2017-05-15 18:41 ` Mike Snitzer
2017-05-15 15:28 ` [PATCH 3/4] dm mpath: multipath_clone_and_map must not return -EIO Christoph Hellwig
2017-05-15 15:28 ` [PATCH 4/4] dm: fix REQ_RAHEAD handling Christoph Hellwig
2017-05-15 18:46 ` Mike Snitzer [this message]
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=20170515184641.GA22139@redhat.com \
--to=snitzer@redhat.com \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
/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.