Re: autosuspend for SCSI devices

From: Oliver Neukum
Date: Thu Aug 28 2008 - 17:16:35 EST


Am Donnerstag 28 August 2008 10:04:27 schrieb Pavel Machek:
> On Tue 2008-08-26 13:01:43, Oliver Neukum wrote:
> > Am Dienstag 26 August 2008 11:43:55 schrieb Pavel Machek:
> > > > firstly, it doesn't consider error handling before suspending.
> > >
> > > What problems do you see with error handling? This patch does not
> > > touch the error handling, and I do not think it needs to touch it.
> >
> > You'd make scsi driver writers' life easier if you made sure no autosuspends
> > happen while they recover from errors. After all, you have no idea which
> > commands will get through while the bus is in disarray.
>
> Well, they have to handle other commands while bus has problems,
> anyway, right? So I'm not creating any _new_ problems for them.
>
> Pavel


I am afraid this is not true.

Regards
Oliver
/**
* scsi_block_when_processing_errors - Prevent cmds from being queued.
* @sdev: Device on which we are performing recovery.
*
* Description:
* We block until the host is out of error recovery, and then check to
* see whether the host or the device is offline.
*
* Return value:
* 0 when dev was taken offline by error recovery. 1 OK to proceed.
*/
int scsi_block_when_processing_errors(struct scsi_device *sdev)


/**
* scsi_restart_operations - restart io operations to the specified host.
* @shost: Host we are restarting.
*
* Notes:
* When we entered the error handler, we blocked all further i/o to
* this device. we need to 'reverse' this process.
*/
static void scsi_restart_operations(struct Scsi_Host *shost)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/