public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] scsi_allocate_request() reference
Date: Mon, 21 Mar 2005 17:57:52 +0100	[thread overview]
Message-ID: <20050321165751.GJ25452@suse.de> (raw)
In-Reply-To: <1111417798.5504.8.camel@mulgrave>

On Mon, Mar 21 2005, James Bottomley wrote:
> On Mon, 2005-03-21 at 14:26 +0100, Jens Axboe wrote:
> > scsi_allocate_request() doesn't hold a reference to the device that it
> > points to, that is not good. This patch fixes that up.
> 
> Actually, I don't think this is correct.  The reference is taken when
> the command is attached to a request in the scsi_request_fn function
> after first checking that the entity is in a condition to have this
> happen.

Where does this happen, specifically? I can verify that this patch
solves at least one of the oopses I am seeing with hotplug. IMHO, the
reference should be taken when you reference the device (ie ->sr_device
is assigned in scsi_allocate_request()).

> The problem is that the device could have been torn down (surprise
> ejection etc) when some of the routines that call scsi_allocate_request
> run.  What's the actual problem this is trying to solve?

Same problem, SCSI blowing up with a hotplug device. Try with your
pendrive, you should have no problem oopsing the kernel. As mentioned
earlier in this thread, there are unsolvable reference counting problems
between sdev and the request_queue right now.

-- 
Jens Axboe


  reply	other threads:[~2005-03-21 16:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-21 13:26 [PATCH] scsi_allocate_request() reference Jens Axboe
2005-03-21 15:09 ` James Bottomley
2005-03-21 16:57   ` Jens Axboe [this message]
2005-03-21 23:51     ` Tejun Heo
2005-03-22 11:17       ` Jens Axboe
2005-03-22 15:34         ` James Bottomley

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=20050321165751.GJ25452@suse.de \
    --to=axboe@suse.de \
    --cc=James.Bottomley@SteelEye.com \
    --cc=linux-scsi@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