From: Mike Snitzer <snitzer@redhat.com>
To: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: dm-devel@redhat.com, Mike Christie <michaelc@cs.wisc.edu>
Subject: Re: [PATCH v2] dm: gracefully fail any request beyond the end of the device
Date: Mon, 24 Sep 2012 09:07:11 -0400 [thread overview]
Message-ID: <20120924130711.GA27531@redhat.com> (raw)
In-Reply-To: <50602A28.8010402@ce.jp.nec.com>
On Mon, Sep 24 2012 at 5:38am -0400,
Jun'ichi Nomura <j-nomura@ce.jp.nec.com> wrote:
> On 09/22/12 00:47, Mike Snitzer wrote:
> > @@ -1651,19 +1654,31 @@ static void dm_request_fn(struct request
> > if (!rq)
> > goto delay_and_out;
> >
> > + clone = rq->special;
> > +
> > /* always use block 0 to find the target for flushes for now */
> > pos = 0;
> > if (!(rq->cmd_flags & REQ_FLUSH))
> > pos = blk_rq_pos(rq);
> >
> > ti = dm_table_find_target(map, pos);
> > - BUG_ON(!dm_target_is_valid(ti));
> > + if (!dm_target_is_valid(ti)) {
> > + /*
> > + * Must perform setup, that dm_done() requires,
> > + * before calling dm_kill_unmapped_request
> > + */
> > + DMERR_LIMIT("request attempted access beyond the end of device");
> > + blk_start_request(rq);
> > + atomic_inc(&md->pending[rq_data_dir(clone)]);
> > + dm_get(md);
> > + dm_kill_unmapped_request(clone, -EIO);
> > + goto out;
>
> This "goto out" should be "continue" so that request_fn
> process next requests in the queue.
>
> Also I think introducing a function dm_start_request()
> will make this part of code a little bit easier for reading.
> An edited patch is attached.
Aside from the continue, matches exactly what I was going to do for v3
(based on Mike Christie's feedback -- which was to introduce
dm_start_request too). Anyway, looks great.
I'll get a formal v3 posted so Alasdair can stage it.
Thanks,
Mike
next prev parent reply other threads:[~2012-09-24 13:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-20 19:28 [PATCH] dm: gracefully fail any request beyond the end of the device Mike Snitzer
2012-09-21 15:47 ` [PATCH v2] " Mike Snitzer
2012-09-24 9:38 ` Jun'ichi Nomura
2012-09-24 13:07 ` Mike Snitzer [this message]
2012-09-24 13:28 ` [PATCH v3] " Mike Snitzer
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=20120924130711.GA27531@redhat.com \
--to=snitzer@redhat.com \
--cc=dm-devel@redhat.com \
--cc=j-nomura@ce.jp.nec.com \
--cc=michaelc@cs.wisc.edu \
/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.