LCOV - code coverage report
Current view: top level - include/scsi - scsi_eh.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 0 2 0.0 %
Date: 2021-04-22 12:43:58 Functions: 0 0 -

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #ifndef _SCSI_SCSI_EH_H
       3             : #define _SCSI_SCSI_EH_H
       4             : 
       5             : #include <linux/scatterlist.h>
       6             : 
       7             : #include <scsi/scsi_cmnd.h>
       8             : #include <scsi/scsi_common.h>
       9             : struct scsi_device;
      10             : struct Scsi_Host;
      11             : 
      12             : extern void scsi_eh_finish_cmd(struct scsi_cmnd *scmd,
      13             :                                struct list_head *done_q);
      14             : extern void scsi_eh_flush_done_q(struct list_head *done_q);
      15             : extern void scsi_report_bus_reset(struct Scsi_Host *, int);
      16             : extern void scsi_report_device_reset(struct Scsi_Host *, int, int);
      17             : extern int scsi_block_when_processing_errors(struct scsi_device *);
      18             : extern bool scsi_command_normalize_sense(const struct scsi_cmnd *cmd,
      19             :                                          struct scsi_sense_hdr *sshdr);
      20             : extern int scsi_check_sense(struct scsi_cmnd *);
      21             : 
      22           0 : static inline bool scsi_sense_is_deferred(const struct scsi_sense_hdr *sshdr)
      23             : {
      24           0 :         return ((sshdr->response_code >= 0x70) && (sshdr->response_code & 1));
      25             : }
      26             : 
      27             : extern bool scsi_get_sense_info_fld(const u8 *sense_buffer, int sb_len,
      28             :                                     u64 *info_out);
      29             : 
      30             : extern int scsi_ioctl_reset(struct scsi_device *, int __user *);
      31             : 
      32             : struct scsi_eh_save {
      33             :         /* saved state */
      34             :         int result;
      35             :         unsigned int resid_len;
      36             :         int eh_eflags;
      37             :         enum dma_data_direction data_direction;
      38             :         unsigned underflow;
      39             :         unsigned char cmd_len;
      40             :         unsigned char prot_op;
      41             :         unsigned char *cmnd;
      42             :         struct scsi_data_buffer sdb;
      43             :         /* new command support */
      44             :         unsigned char eh_cmnd[BLK_MAX_CDB];
      45             :         struct scatterlist sense_sgl;
      46             : };
      47             : 
      48             : extern void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd,
      49             :                 struct scsi_eh_save *ses, unsigned char *cmnd,
      50             :                 int cmnd_size, unsigned sense_bytes);
      51             : 
      52             : extern void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd,
      53             :                 struct scsi_eh_save *ses);
      54             : 
      55             : #endif /* _SCSI_SCSI_EH_H */

Generated by: LCOV version 1.14