On Thu, 2016-01-14 at 16:46 -0500, Tejun Heo wrote: > SCSI command completion path bumps ioerr_cnt whenever scsi_cmd > ->result isn't zero; unfortunately, this means that non-error sense > reporting bumps the counter too. This is pronounced with ATA > passthrough commands because most of them explicitly request the > resulting taskfile to be transported via sense data bumping the count > unconditionally. > > Don't bump the counter if scsi_cmd->result simply indicates that > sense data is available. > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> > Reported-by: Dave Jones <dsj@xxxxxx> > --- > drivers/scsi/scsi_lib.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c > index fa6b2c4..e90e3f7 100644 > --- a/drivers/scsi/scsi_lib.c > +++ b/drivers/scsi/scsi_lib.c > @@ -1622,7 +1622,8 @@ static void scsi_softirq_done(struct request > *rq) > INIT_LIST_HEAD(&cmd->eh_entry); > > atomic_inc(&cmd->device->iodone_cnt); > - if (cmd->result) > + if (cmd->result && > + cmd->result != ((DRIVER_SENSE << 24) | > SAM_STAT_CHECK_CONDITION)) > atomic_inc(&cmd->device->ioerr_cnt); OK, it makes sense to me that we don't include non-error check conditions. However, then you shouldn't be checking DRIVER_SENSE. We still have a few drivers that rely on the error handler to fetch sense explicitly ... they could eventually return non-error conditions as well. James -- To unsubscribe from this list: 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