On Wed, 2005-09-14 at 17:33 -0400, Alan Stern wrote:
> On Wed, 14 Sep 2005, James Bottomley wrote:
> > Yes ... really the only case for unprep is when we've partially released
> > the command (like in scsi_io_completion) where we need to tear the rest
> > of it down.
>
> In other words, in scsi_requeue_command and nowhere else.
Pretty much, yes.
> Or will be prepared for the first time, as in scsi_execute. As far as I
> can tell, a new struct request is not set to all 0's. So if you queue a
> request with REQ_SPECIAL set and you fail to clear req->special, you're in
> trouble. Do you have any idea why this hasn't been causing errors all
> along?
That's true, it's not. However ll_rq_blk.c:rq_init() clears req-
>special (and initialises all other important fields).
> Okay, then how does this patch look (moved the routine over to where it
> gets used, plus two real changes)?
Well ... under pressure to fix this in -mm, I already commited a version
to rc-fixes. What I did was fully reverse the changes to the
scsi_insert_queue() [the patch I sent Anton]. We can move the unprep
function if you feel strongly about it, but I'm also happy to keep it
where it is.
James
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|