public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Dave Jones <davej@redhat.com>
Cc: Greg KH <greg@kroah.com>, Jens Axboe <jaxboe@fusionio.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: exception in interrupt during elv_completed_request. (3.0)
Date: Tue, 09 Aug 2011 08:48:32 -0500	[thread overview]
Message-ID: <1312897712.12403.2.camel@mulgrave> (raw)
In-Reply-To: <20110809124842.GA17607@redhat.com>

On Tue, 2011-08-09 at 08:48 -0400, Dave Jones wrote:
> On Mon, Aug 08, 2011 at 10:43:23PM -0700, Greg Kroah-Hartman wrote:
>  > On Mon, Aug 08, 2011 at 05:16:09PM +0200, Jens Axboe wrote:
>  > > On 2011-08-08 17:13, Dave Jones wrote:
>  > > >  > On 2011-08-08 16:58, Dave Jones wrote:
>  > > >  > > Jens,
>  > > >  > > 
>  > > >  > > We got a report of a panic from a user when he plugged in his usb drive,
>  > > >  > > https://bugzilla.redhat.com/attachment.cgi?id=517141
>  > > >  > > 
>  > > >  > > any ideas what happened here ?
>  > > >  > 
>  > > >  > 2.6.40?
>  > > > 
>  > > > it's 3.0 in all but name. didn't want to risk breaking dumb userspace
>  > > > in an update for older fedora releases.  It does have the
>  > > > scsi_dispatch_cmd fix that went into 3.0.1, but otherwise block/
>  > > > should be stock 3.0
>  > > 
>  > > OK
>  > > 
>  > > >  > Looks like the recent SCSI removal oopses, perhaps it happened when he
>  > > >  > yanked it instead of directly on insertion?
>  > > >  
>  > > > sorry my bad, yes, this was on device removal.
>  > > > 
>  > > > according to the user, he did everything right, and unmounted safely.	
>  > > > https://bugzilla.redhat.com/show_bug.cgi?id=728872
>  > > 
>  > > James?
>  > 
>  > Should be resolved in 3.0.1 now.
>  > 
>  > If not, please let James, and me, know.
> 
> Are you talking about the scsi_dispatch_cmd fix ?  this is something else.

I'm not so sure ... it looks like a stray block put coming after queue
teardown to me.  elevator_exit() will NULL e->ops but blk_put_request()
uses it unconditionally.

That's more a fix like this, isn't it?

James

---

diff --git a/block/elevator.c b/block/elevator.c
index a3b64bc..de4bde9 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -812,7 +812,7 @@ void elv_completed_request(struct request_queue *q, struct request *rq)
 	 */
 	if (blk_account_rq(rq)) {
 		q->in_flight[rq_is_sync(rq)]--;
-		if ((rq->cmd_flags & REQ_SORTED) &&
+		if ((rq->cmd_flags & REQ_SORTED) && e->ops &&
 		    e->ops->elevator_completed_req_fn)
 			e->ops->elevator_completed_req_fn(q, rq);
 	}



  reply	other threads:[~2011-08-09 13:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-08 14:58 exception in interrupt during elv_completed_request. (3.0) Dave Jones
2011-08-08 15:03 ` Jens Axboe
2011-08-08 15:13   ` Dave Jones
2011-08-08 15:16     ` Jens Axboe
2011-08-09  5:43       ` Greg KH
2011-08-09 12:48         ` Dave Jones
2011-08-09 13:48           ` James Bottomley [this message]
2011-08-15 17:48             ` Dave Jones

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=1312897712.12403.2.camel@mulgrave \
    --to=james.bottomley@hansenpartnership.com \
    --cc=davej@redhat.com \
    --cc=greg@kroah.com \
    --cc=jaxboe@fusionio.com \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox