Re: [patch] scsi: revert "[SCSI] Get rid of scsi_cmnd->done"

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: James Bottomley <James.Bottomley@...>, Matthew Wilcox <matthew@...>
Cc: Linus Torvalds <torvalds@...>, Peter Osterlund <petero2@...>, Ingo Molnar <mingo@...>, Linux Kernel Mailing List <linux-kernel@...>, Andrew Morton <akpm@...>, Jens Axboe <jens.axboe@...>, Al Viro <viro@...>
Date: Sunday, January 6, 2008 - 12:19 pm

On Sun, Jan 06 2008 at 5:43 +0200, Linus Torvalds <torvalds@linux-foundation.org> wrote:

James Matthew.
I have a (very) wild guess at what maybe have changed with the cmnd->done
patch:

Do you remember the effective loop in scsi_lib:scsi_end_request() where
if bufflen was smaller then original request size, do to truncation
of bufflen by ULD, then the remaining of the request is re-queued again
as a new scsi-command. Well I think that the old system would call
cmnd->done for every iteration, and the new system, since the done is
called by the block-Q, does not see the resubmit of the new command.

I have not followed all code path of the matter, but I know that sr does
alters bufflen in some cases. 
All this is not a bug in itself, but it is a change in behavior that might 
cause the current sr hack to fail.

Boaz
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [patch] scsi: revert "[SCSI] Get rid of scsi_cmnd->done", Boaz Harrosh, (Sun Jan 6, 12:19 pm)