diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 1d46474a4..8ccddc98d 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -3,19 +3,19 @@ ABT_DETAILS="x86_64" ABT_JOBS=5 ABT_KERNELS=" \ -4.2.2 \ -4.1.9-nc \ +4.2.3 \ +4.1.10-nc \ 4.0.9-nc \ 3.19.7-nc \ 3.18.19-nc \ 3.17.8-nc \ 3.16.7-nc \ 3.15.10-nc \ -3.14.53-nc \ +3.14.54-nc \ 3.13.11-nc \ 3.12.44-nc \ 3.11.10-nc \ -3.10.89-nc \ +3.10.90-nc \ 3.9.11-nc \ 3.8.13-nc \ 3.7.10-nc \ diff --git a/scst/include/scst.h b/scst/include/scst.h index 7ec796104..206eeeb7c 100644 --- a/scst/include/scst.h +++ b/scst/include/scst.h @@ -886,7 +886,7 @@ enum scst_dif_actions { /* Returns DIF checks by stripping the action part from a */ static inline enum scst_dif_actions scst_get_dif_checks(enum scst_dif_actions a) { - return (a & SCST_DIF_CHECKS_MASK); + return a & SCST_DIF_CHECKS_MASK; } /* Sets the DIF checks part in a */ @@ -901,7 +901,7 @@ static inline void scst_set_dif_checks(enum scst_dif_actions *a, /* Returns DIF action by stripping the checks part from a */ static inline enum scst_dif_actions scst_get_dif_action(enum scst_dif_actions a) { - return (a & SCST_DIF_ACTION_MASK); + return a & SCST_DIF_ACTION_MASK; } /* Sets the DIF action part in a */ diff --git a/scst/include/scst_const.h b/scst/include/scst_const.h index 333e1968f..39a829b58 100644 --- a/scst/include/scst_const.h +++ b/scst/include/scst_const.h @@ -646,6 +646,11 @@ enum scst_tg_sup { #define DID_TRANSPORT_FAILFAST 0xf #endif +/* See also patch "Add detailed SCSI I/O errors" (commit ID 63583cca745f) */ +#ifndef DID_TARGET_FAILURE +#define DID_TARGET_FAILURE 0x10 +#endif + #ifndef DID_NEXUS_FAILURE #define DID_NEXUS_FAILURE 0x11 #endif diff --git a/scst/include/scst_debug.h b/scst/include/scst_debug.h index dc8c9e1b6..6941a55ea 100644 --- a/scst/include/scst_debug.h +++ b/scst/include/scst_debug.h @@ -44,27 +44,27 @@ #endif #define pr_emerg(fmt, ...) \ - printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) #define pr_alert(fmt, ...) \ - printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__) #define pr_crit(fmt, ...) \ - printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__) #define pr_err(fmt, ...) \ - printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) #define pr_warning(fmt, ...) \ - printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) #define pr_notice(fmt, ...) \ - printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) #endif #ifndef pr_info #define pr_info(fmt, ...) \ - printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) + printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) #endif #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30) #ifndef pr_cont #define pr_cont(fmt, ...) \ - printk(KERN_CONT fmt, ##__VA_ARGS__) + printk(KERN_CONT fmt, ##__VA_ARGS__) #endif #endif diff --git a/scst/src/scst_targ.c b/scst/src/scst_targ.c index 4f4eea7eb..d4409f95b 100644 --- a/scst/src/scst_targ.c +++ b/scst/src/scst_targ.c @@ -3540,6 +3540,8 @@ static bool scst_check_auto_sense(struct scst_cmd *cmd) scst_set_cmd_error(cmd, SCST_LOAD_SENSE(scst_sense_write_error)); else scst_set_cmd_error(cmd, SCST_LOAD_SENSE(scst_sense_read_error)); + } else if ((cmd->host_status == DID_TARGET_FAILURE) && (cmd->status != 0)) { + /* It's OK, normal workflow, ignore */ } else { TRACE(TRACE_SCSI|TRACE_MINOR_AND_MGMT_DBG, "Host " "status 0x%x received, returning HARDWARE ERROR "