Re: [PATCH 01/22] SCSI: Introduce scsi_req_abort_cmd (REPOST)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--- Tejun Heo <htejun@xxxxxxxxx> wrote:

> Introduce scsi_req_abort_cmd(struct scsi_cmnd *).
> This function requests that SCSI Core start recovery for the
> command by deleting the timer and adding the command to the eh
> queue.  It can be called by either LLDDs or SCSI Core.  LLDDs who
> implement their own error recovery MAY ignore the timeout event if
> they generated scsi_req_abort_cmd.
> 
> First post:
> http://marc.theaimsgroup.com/?l=linux-scsi&m=113833937421677&w=2
> 
> Signed-off-by: Luben Tuikov <ltuikov@xxxxxxxxx>
> 
> Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
> 
> ---
> 
>  drivers/scsi/scsi.c      |   18 ++++++++++++++++++
>  include/scsi/scsi_cmnd.h |    1 +
>  2 files changed, 19 insertions(+), 0 deletions(-)
> 
> 2dcc69f8559ce963d637e881ca168afd91ee2478
> diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
> index 73994e2..dae4f08 100644
> --- a/drivers/scsi/scsi.c
> +++ b/drivers/scsi/scsi.c
> @@ -720,6 +720,24 @@ void scsi_init_cmd_from_req(struct scsi_
>  static DEFINE_PER_CPU(struct list_head, scsi_done_q);
>  
>  /**
> + * scsi_req_abort_cmd -- Request command recovery for the specified command
> + * cmd: pointer to the SCSI command of interest
> + *
> + * This function requests that SCSI Core start recovery for the
> + * command by deleting the timer and adding the command to the eh
> + * queue.  It can be called by either LLDDs or SCSI Core.  LLDDs who
> + * implement their own error recovery MAY ignore the timeout event if
> + * they generated scsi_req_abort_cmd.
> + */
> +void scsi_req_abort_cmd(struct scsi_cmnd *cmd)
> +{
> +	if (!scsi_delete_timer(cmd))
> +		return;
> +	scsi_times_out(cmd);
> +}
> +EXPORT_SYMBOL(scsi_req_abort_cmd);
> +
> +/**
>   * scsi_done - Enqueue the finished SCSI command into the done queue.
>   * @cmd: The SCSI Command for which a low-level device driver (LLDD) gives
>   * ownership back to SCSI Core -- i.e. the LLDD has finished with it.
> diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h
> index 1ace1b9..88c6c4d 100644
> --- a/include/scsi/scsi_cmnd.h
> +++ b/include/scsi/scsi_cmnd.h
> @@ -151,5 +151,6 @@ extern struct scsi_cmnd *scsi_get_comman
>  extern void scsi_put_command(struct scsi_cmnd *);
>  extern void scsi_io_completion(struct scsi_cmnd *, unsigned int, unsigned int);
>  extern void scsi_finish_command(struct scsi_cmnd *cmd);
> +extern void scsi_req_abort_cmd(struct scsi_cmnd *cmd);
>  
>  #endif /* _SCSI_SCSI_CMND_H */
> -- 
> 1.2.4

Now that's the patch in its entirety, Jeff.

     Luben

-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux