linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Ext4 and scsi commands resubmission
@ 2010-12-28 10:41 torn5
  2010-12-29  4:43 ` Mike Christie
  0 siblings, 1 reply; 2+ messages in thread
From: torn5 @ 2010-12-28 10:41 UTC (permalink / raw)
  To: linux-ext4, linux-scsi@vger.kernel.org

Hello all,

in open-iscsi, when network connectivity is lost, scsi commands that 
were in-flight at the moment of disconnection are failed to the SCSI layer.
These get resubmitted up to 5 times by the SCSI layer (or so is written 
in the open-iscsi docs) and after that they are held in the queue 
(device "blocked") until the network connection is restored.

Now the question is: when SCSI resubmits commands to a device, I suppose 
they go to the end of the queue for the device, and not at the head like 
they were. Am I right?
How do filesystems, and in particular ext4, react to that?
I suppose the ordering goes awry, barriers cannot succeed in this way, 
especially if they were submitted as real SCSI barriers (i.e. without 
using flush + command + flush workaround)

Thank you

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Ext4 and scsi commands resubmission
  2010-12-28 10:41 Ext4 and scsi commands resubmission torn5
@ 2010-12-29  4:43 ` Mike Christie
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Christie @ 2010-12-29  4:43 UTC (permalink / raw)
  To: torn5; +Cc: linux-ext4, linux-scsi@vger.kernel.org

On 12/28/2010 04:41 AM, torn5 wrote:
> Hello all,
>
> in open-iscsi, when network connectivity is lost, scsi commands that
> were in-flight at the moment of disconnection are failed to the SCSI layer.
> These get resubmitted up to 5 times by the SCSI layer (or so is written
> in the open-iscsi docs) and after that they are held in the queue
> (device "blocked") until the network connection is restored.
>
> Now the question is: when SCSI resubmits commands to a device, I suppose
> they go to the end of the queue for the device, and not at the head like
> they were. Am I right?

The request goes to eh head. scsi layer calls 
blk_requeue_request->elv_requeue_request-> 
elv_insert(ELEVATOR_INSERT_REQUEUE) and ELEVATOR_INSERT_REQUEUE's case 
falls through to the ELEVATOR_INSERT_FRONT case.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-12-29  4:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-28 10:41 Ext4 and scsi commands resubmission torn5
2010-12-29  4:43 ` Mike Christie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).