All of lore.kernel.org
 help / color / mirror / Atom feed
From: Finn Thain <fthain@telegraphics.com.au>
To: Hannes Reinecke <hare@suse.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	Christoph Hellwig <hch@lst.de>,
	James Bottomley <james.bottomley@hansenpartnership.com>,
	Johannes Thumshirn <jthumshirn@suse.de>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH 05/24] scsi: use standard SAM status codes
Date: Tue, 22 Oct 2019 10:17:28 +1100 (AEDT)	[thread overview]
Message-ID: <alpine.LNX.2.21.1910220956400.14@nippy.intranet> (raw)
In-Reply-To: <20191021095322.137969-6-hare@suse.de>

On Mon, 21 Oct 2019, Hannes Reinecke wrote:

> Use standard SAM status codes and omit the explicit shift to convert
> to linus-specific ones.

"Linux-specific".

-- 

> 
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
>  drivers/ata/libata-scsi.c             |  2 +-
>  drivers/infiniband/ulp/srp/ib_srp.c   |  2 +-
>  drivers/scsi/3w-9xxx.c                |  5 +++--
>  drivers/scsi/3w-sas.c                 |  3 ++-
>  drivers/scsi/3w-xxxx.c                |  4 ++--
>  drivers/scsi/arcmsr/arcmsr_hba.c      |  4 ++--
>  drivers/scsi/bfa/bfad_im.c            |  2 +-
>  drivers/scsi/dc395x.c                 | 18 +++++-------------
>  drivers/scsi/dpt_i2o.c                |  2 +-
>  drivers/scsi/gdth.c                   | 12 ++++++------
>  drivers/scsi/megaraid.c               | 10 +++++-----
>  drivers/scsi/megaraid/megaraid_mbox.c | 12 ++++++------
>  12 files changed, 35 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
> index 76d0f9de767b..b197d2fbe3f8 100644
> --- a/drivers/ata/libata-scsi.c
> +++ b/drivers/ata/libata-scsi.c
> @@ -856,7 +856,7 @@ static struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
>  		if (cmd->request->rq_flags & RQF_QUIET)
>  			qc->flags |= ATA_QCFLAG_QUIET;
>  	} else {
> -		cmd->result = (DID_OK << 16) | (QUEUE_FULL << 1);
> +		cmd->result = (DID_OK << 16) | SAM_STAT_TASK_SET_FULL;
>  		cmd->scsi_done(cmd);
>  	}
>  
> diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
> index b5960351bec0..4570e3c79ea5 100644
> --- a/drivers/infiniband/ulp/srp/ib_srp.c
> +++ b/drivers/infiniband/ulp/srp/ib_srp.c
> @@ -2404,7 +2404,7 @@ static int srp_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *scmnd)
>  		 * to reduce queue depth temporarily.
>  		 */
>  		scmnd->result = len == -ENOMEM ?
> -			DID_OK << 16 | QUEUE_FULL << 1 : DID_ERROR << 16;
> +			DID_OK << 16 | SAM_STAT_TASK_SET_FULL : DID_ERROR << 16;
>  		goto err_iu;
>  	}
>  
> diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
> index 3337b1e80412..ada77c136f8b 100644
> --- a/drivers/scsi/3w-9xxx.c
> +++ b/drivers/scsi/3w-9xxx.c
> @@ -1018,7 +1018,8 @@ static int twa_fill_sense(TW_Device_Extension *tw_dev, int request_id, int copy_
>  
>  	if (copy_sense) {
>  		memcpy(tw_dev->srb[request_id]->sense_buffer, full_command_packet->header.sense_data, TW_SENSE_DATA_LENGTH);
> -		tw_dev->srb[request_id]->result = (full_command_packet->command.newcommand.status << 1);
> +		tw_dev->srb[request_id]->result =
> +			full_command_packet->command.newcommand.status;
>  		retval = TW_ISR_DONT_RESULT;
>  		goto out;
>  	}
> @@ -1342,7 +1343,7 @@ static irqreturn_t twa_interrupt(int irq, void *dev_instance)
>  				/* If error, command failed */
>  				if (error == 1) {
>  					/* Ask for a host reset */
> -					cmd->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +					cmd->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>  				}
>  
>  				/* Report residual bytes for single sgl */
> diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c
> index dda6fa857709..d11f62c60877 100644
> --- a/drivers/scsi/3w-sas.c
> +++ b/drivers/scsi/3w-sas.c
> @@ -891,7 +891,8 @@ static int twl_fill_sense(TW_Device_Extension *tw_dev, int i, int request_id, in
>  
>  	if (copy_sense) {
>  		memcpy(tw_dev->srb[request_id]->sense_buffer, header->sense_data, TW_SENSE_DATA_LENGTH);
> -		tw_dev->srb[request_id]->result = (full_command_packet->command.newcommand.status << 1);
> +		tw_dev->srb[request_id]->result =
> +			full_command_packet->command.newcommand.status;
>  		goto out;
>  	}
>  out:
> diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
> index 2b1e0d503020..79eca8f1fd05 100644
> --- a/drivers/scsi/3w-xxxx.c
> +++ b/drivers/scsi/3w-xxxx.c
> @@ -429,7 +429,7 @@ static int tw_decode_sense(TW_Device_Extension *tw_dev, int request_id, int fill
>  					/* Additional sense code qualifier */
>  					tw_dev->srb[request_id]->sense_buffer[13] = tw_sense_table[i][3];
>  
> -					tw_dev->srb[request_id]->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +					tw_dev->srb[request_id]->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>  					return TW_ISR_DONT_RESULT; /* Special case for isr to not over-write result */
>  				}
>  			}
> @@ -2164,7 +2164,7 @@ static irqreturn_t tw_interrupt(int irq, void *dev_instance)
>  				/* If error, command failed */
>  				if (error == 1) {
>  					/* Ask for a host reset */
> -					tw_dev->srb[request_id]->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +					tw_dev->srb[request_id]->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>  				}
>  
>  				/* Now complete the io */
> diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
> index 88053b15c363..89eda0c79349 100644
> --- a/drivers/scsi/arcmsr/arcmsr_hba.c
> +++ b/drivers/scsi/arcmsr/arcmsr_hba.c
> @@ -1271,7 +1271,7 @@ static void arcmsr_report_sense_info(struct CommandControlBlock *ccb)
>  
>  	struct scsi_cmnd *pcmd = ccb->pcmd;
>  	struct SENSE_DATA *sensebuffer = (struct SENSE_DATA *)pcmd->sense_buffer;
> -	pcmd->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +	pcmd->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>  	if (sensebuffer) {
>  		int sense_data_length =
>  			sizeof(struct SENSE_DATA) < SCSI_SENSE_BUFFERSIZE
> @@ -3110,7 +3110,7 @@ static int arcmsr_queue_command_lck(struct scsi_cmnd *cmd,
>  	if (!ccb)
>  		return SCSI_MLQUEUE_HOST_BUSY;
>  	if (arcmsr_build_ccb( acb, ccb, cmd ) == FAILED) {
> -		cmd->result = (DID_ERROR << 16) | (RESERVATION_CONFLICT << 1);
> +		cmd->result = (DID_ERROR << 16) | SAM_STAT_RESERVATION_CONFLICT;
>  		cmd->scsi_done(cmd);
>  		return 0;
>  	}
> diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c
> index 6b5841b1c06e..e3cbe5d20aca 100644
> --- a/drivers/scsi/bfa/bfad_im.c
> +++ b/drivers/scsi/bfa/bfad_im.c
> @@ -150,7 +150,7 @@ bfa_cb_tskim_done(void *bfad, struct bfad_tskim_s *dtsk,
>  	struct scsi_cmnd *cmnd = (struct scsi_cmnd *)dtsk;
>  	wait_queue_head_t *wq;
>  
> -	cmnd->SCp.Status |= tsk_status << 1;
> +	cmnd->SCp.Status |= tsk_status;
>  	set_bit(IO_DONE_BIT, (unsigned long *)&cmnd->SCp.Status);
>  	wq = (wait_queue_head_t *) cmnd->SCp.ptr;
>  	cmnd->SCp.ptr = NULL;
> diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
> index 13fbb2eab842..a56893bc681e 100644
> --- a/drivers/scsi/dc395x.c
> +++ b/drivers/scsi/dc395x.c
> @@ -168,7 +168,6 @@
>  #define RES_DRV			0xFF000000	/* DRIVER_ codes */
>  
>  #define MK_RES(drv,did,msg,tgt) ((int)(drv)<<24 | (int)(did)<<16 | (int)(msg)<<8 | (int)(tgt))
> -#define MK_RES_LNX(drv,did,msg,tgt) ((int)(drv)<<24 | (int)(did)<<16 | (int)(msg)<<8 | (int)(tgt)<<1)
>  
>  #define SET_RES_TARGET(who,tgt) { who &= ~RES_TARGET; who |= (int)(tgt); }
>  #define SET_RES_TARGET_LNX(who,tgt) { who &= ~RES_TARGET_LNX; who |= (int)(tgt) << 1; }
> @@ -3228,7 +3227,7 @@ static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
>  		 */
>  		srb->flag &= ~AUTO_REQSENSE;
>  		srb->adapter_status = 0;
> -		srb->target_status = CHECK_CONDITION << 1;
> +		srb->target_status = SAM_STAT_CHECK_CONDITION;
>  		if (debug_enabled(DBG_1)) {
>  			switch (cmd->sense_buffer[2] & 0x0f) {
>  			case NOT_READY:
> @@ -3275,22 +3274,15 @@ static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
>  					*((unsigned int *)(cmd->sense_buffer + 3)));
>  		}
>  
> -		if (status == (CHECK_CONDITION << 1)) {
> +		if (status == SAM_STAT_CHECK_CONDITION) {
>  			cmd->result = DID_BAD_TARGET << 16;
>  			goto ckc_e;
>  		}
>  		dprintkdbg(DBG_0, "srb_done: AUTO_REQSENSE2\n");
>  
> -		if (srb->total_xfer_length
> -		    && srb->total_xfer_length >= cmd->underflow)
> -			cmd->result =
> -			    MK_RES_LNX(DRIVER_SENSE, DID_OK,
> -				       srb->end_message, CHECK_CONDITION);
> -		/*SET_RES_DID(cmd->result,DID_OK) */
> -		else
> -			cmd->result =
> -			    MK_RES_LNX(DRIVER_SENSE, DID_OK,
> -				       srb->end_message, CHECK_CONDITION);
> +		cmd->result =
> +		    MK_RES(DRIVER_SENSE, DID_OK,
> +			   srb->end_message, SAM_STAT_CHECK_CONDITION);
>  
>  		goto ckc_e;
>  	}
> diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
> index abc74fd474dc..83576fd694c4 100644
> --- a/drivers/scsi/dpt_i2o.c
> +++ b/drivers/scsi/dpt_i2o.c
> @@ -2656,7 +2656,7 @@ static void adpt_fail_posted_scbs(adpt_hba* pHba)
>  		unsigned long flags;
>  		spin_lock_irqsave(&d->list_lock, flags);
>  		list_for_each_entry(cmd, &d->cmd_list, list) {
> -			cmd->result = (DID_OK << 16) | (QUEUE_FULL <<1);
> +			cmd->result = (DID_OK << 16) | SAM_STAT_TASK_SET_FULL;
>  			cmd->scsi_done(cmd);
>  		}
>  		spin_unlock_irqrestore(&d->list_lock, flags);
> diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
> index fe03410268e6..d23e277c1b85 100644
> --- a/drivers/scsi/gdth.c
> +++ b/drivers/scsi/gdth.c
> @@ -1677,7 +1677,7 @@ static void gdth_next(gdth_ha_str *ha)
>                  memset((char*)nscp->sense_buffer,0,16);
>                  nscp->sense_buffer[0] = 0x70;
>                  nscp->sense_buffer[2] = NOT_READY;
> -                nscp->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +		nscp->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>                  if (!nscp_cmndinfo->wait_for_completion)
>                      nscp_cmndinfo->wait_for_completion++;
>                  else
> @@ -1722,7 +1722,7 @@ static void gdth_next(gdth_ha_str *ha)
>                      memset((char*)nscp->sense_buffer,0,16);
>                      nscp->sense_buffer[0] = 0x70;
>                      nscp->sense_buffer[2] = UNIT_ATTENTION;
> -                    nscp->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +		    nscp->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>                      if (!nscp_cmndinfo->wait_for_completion)
>                          nscp_cmndinfo->wait_for_completion++;
>                      else
> @@ -1774,7 +1774,7 @@ static void gdth_next(gdth_ha_str *ha)
>                      memset((char*)nscp->sense_buffer,0,16);
>                      nscp->sense_buffer[0] = 0x70;
>                      nscp->sense_buffer[2] = UNIT_ATTENTION;
> -                    nscp->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +		    nscp->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>                      if (!nscp_cmndinfo->wait_for_completion)
>                          nscp_cmndinfo->wait_for_completion++;
>                      else
> @@ -2802,7 +2802,7 @@ static int gdth_sync_event(gdth_ha_str *ha, int service, u8 index,
>                  memset((char*)scp->sense_buffer,0,16);
>                  scp->sense_buffer[0] = 0x70;
>                  scp->sense_buffer[2] = NOT_READY;
> -                scp->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +		scp->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>              } else if (service == CACHESERVICE) {
>                  if (ha->status == S_CACHE_UNKNOWN &&
>                      (ha->hdr[t].cluster_type & 
> @@ -2812,11 +2812,11 @@ static int gdth_sync_event(gdth_ha_str *ha, int service, u8 index,
>                  }
>                  memset((char*)scp->sense_buffer,0,16);
>                  if (ha->status == (u16)S_CACHE_RESERV) {
> -                    scp->result = (DID_OK << 16) | (RESERVATION_CONFLICT << 1);
> +                    scp->result = (DID_OK << 16) | SAM_STAT_RESERVATION_CONFLICT;
>                  } else {
>                      scp->sense_buffer[0] = 0x70;
>                      scp->sense_buffer[2] = NOT_READY;
> -                    scp->result = (DID_OK << 16) | (CHECK_CONDITION << 1);
> +                    scp->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
>                  }
>                  if (!cmndinfo->internal_command) {
>                      ha->dvr.size = sizeof(ha->dvr.eu.sync);
> diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
> index ff6d4aa92421..21e190c38b97 100644
> --- a/drivers/scsi/megaraid.c
> +++ b/drivers/scsi/megaraid.c
> @@ -1581,7 +1581,7 @@ mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status)
>  
>  				cmd->result = (DRIVER_SENSE << 24) |
>  					(DID_OK << 16) |
> -					(CHECK_CONDITION << 1);
> +					SAM_STAT_CHECK_CONDITION;
>  			}
>  			else {
>  				if (mbox->m_out.cmd == MEGA_MBOXCMD_EXTPTHRU) {
> @@ -1591,11 +1591,11 @@ mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status)
>  
>  					cmd->result = (DRIVER_SENSE << 24) |
>  						(DID_OK << 16) |
> -						(CHECK_CONDITION << 1);
> +						SAM_STAT_CHECK_CONDITION;
>  				} else {
>  					cmd->sense_buffer[0] = 0x70;
>  					cmd->sense_buffer[2] = ABORTED_COMMAND;
> -					cmd->result |= (CHECK_CONDITION << 1);
> +					cmd->result |= SAM_STAT_CHECK_CONDITION;
>  				}
>  			}
>  			break;
> @@ -1613,7 +1613,7 @@ mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status)
>  			 */
>  			if( cmd->cmnd[0] == TEST_UNIT_READY ) {
>  				cmd->result |= (DID_ERROR << 16) |
> -					(RESERVATION_CONFLICT << 1);
> +					SAM_STAT_RESERVATION_CONFLICT;
>  			}
>  			else
>  			/*
> @@ -1625,7 +1625,7 @@ mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status)
>  					 cmd->cmnd[0] == RELEASE) ) {
>  
>  				cmd->result |= (DID_ERROR << 16) |
> -					(RESERVATION_CONFLICT << 1);
> +					SAM_STAT_RESERVATION_CONFLICT;
>  			}
>  			else
>  #endif
> diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
> index f6ac819e6e96..dc58c5ff31e4 100644
> --- a/drivers/scsi/megaraid/megaraid_mbox.c
> +++ b/drivers/scsi/megaraid/megaraid_mbox.c
> @@ -1577,7 +1577,7 @@ megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp, int *busy)
>  				scp->sense_buffer[0] = 0x70;
>  				scp->sense_buffer[2] = ILLEGAL_REQUEST;
>  				scp->sense_buffer[12] = MEGA_INVALID_FIELD_IN_CDB;
> -				scp->result = CHECK_CONDITION << 1;
> +				scp->result = SAM_STAT_CHECK_CONDITION;
>  				return NULL;
>  			}
>  
> @@ -2302,7 +2302,7 @@ megaraid_mbox_dpc(unsigned long devp)
>  						14);
>  
>  				scp->result = DRIVER_SENSE << 24 |
> -					DID_OK << 16 | CHECK_CONDITION << 1;
> +					DID_OK << 16 | SAM_STAT_CHECK_CONDITION;
>  			}
>  			else {
>  				if (mbox->cmd == MBOXCMD_EXTPTHRU) {
> @@ -2312,11 +2312,11 @@ megaraid_mbox_dpc(unsigned long devp)
>  
>  					scp->result = DRIVER_SENSE << 24 |
>  						DID_OK << 16 |
> -						CHECK_CONDITION << 1;
> +						SAM_STAT_CHECK_CONDITION;
>  				} else {
>  					scp->sense_buffer[0] = 0x70;
>  					scp->sense_buffer[2] = ABORTED_COMMAND;
> -					scp->result = CHECK_CONDITION << 1;
> +					scp->result = SAM_STAT_CHECK_CONDITION;
>  				}
>  			}
>  			break;
> @@ -2334,7 +2334,7 @@ megaraid_mbox_dpc(unsigned long devp)
>  			 */
>  			if (scp->cmnd[0] == TEST_UNIT_READY) {
>  				scp->result = DID_ERROR << 16 |
> -					RESERVATION_CONFLICT << 1;
> +					SAM_STAT_RESERVATION_CONFLICT;
>  			}
>  			else
>  			/*
> @@ -2345,7 +2345,7 @@ megaraid_mbox_dpc(unsigned long devp)
>  					 scp->cmnd[0] == RELEASE)) {
>  
>  				scp->result = DID_ERROR << 16 |
> -					RESERVATION_CONFLICT << 1;
> +					SAM_STAT_RESERVATION_CONFLICT;
>  			}
>  			else {
>  				scp->result = DID_BAD_TARGET << 16 | status;
> 

  reply	other threads:[~2019-10-21 23:17 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-21  9:52 [PATCH RFC 00/24] scsi: Revamp result values Hannes Reinecke
2019-10-21  9:52 ` [PATCH 01/24] aic7xxx,aic79xxx: remove driver-defined SAM status definitions Hannes Reinecke
2019-10-21  9:53 ` [PATCH 02/24] bfa: drop driver-defined SCSI status codes Hannes Reinecke
2019-10-21  9:53 ` [PATCH 03/24] wd33c93: use SCSI status Hannes Reinecke
2019-10-21 18:41   ` kbuild test robot
2019-10-21 18:41     ` kbuild test robot
2019-10-21 23:16   ` Finn Thain
2019-10-22  5:59     ` Hannes Reinecke
2019-10-21  9:53 ` [PATCH 04/24] acornscsi: use standard defines Hannes Reinecke
2019-10-21  9:53 ` [PATCH 05/24] scsi: use standard SAM status codes Hannes Reinecke
2019-10-21 23:17   ` Finn Thain [this message]
2019-10-22  6:00     ` Hannes Reinecke
2019-10-21  9:53 ` [PATCH 06/24] scsi: change status_byte() to return the standard SCSI status Hannes Reinecke
2019-10-22 12:35   ` Steffen Maier
2019-10-21  9:53 ` [PATCH 07/24] target_core: Fixup target_complete_cmd() usage Hannes Reinecke
2019-10-21  9:53 ` [PATCH 08/24] sg: use SAM status definitions and avoid using masked_status Hannes Reinecke
2019-10-21  9:53 ` [PATCH 09/24] scsi: Kill obsolete linux-specific status codes Hannes Reinecke
2019-10-21 18:12   ` kbuild test robot
2019-10-21 18:12     ` kbuild test robot
2019-10-21 18:56   ` kbuild test robot
2019-10-21 18:56     ` kbuild test robot
2019-10-21  9:53 ` [PATCH 10/24] scsi: introduce set_status_byte() Hannes Reinecke
2019-10-21 22:12   ` Finn Thain
2019-10-22  5:56     ` Hannes Reinecke
2019-10-21  9:53 ` [PATCH 11/24] advansys: kill driver_defined status byte accessors Hannes Reinecke
2019-10-21 16:37   ` Bart Van Assche
2019-10-22  6:25     ` Hannes Reinecke
2019-10-21  9:53 ` [PATCH 12/24] scsi: introduce scsi_build_sense() Hannes Reinecke
2019-10-21 23:31   ` Finn Thain
2019-10-22  6:02     ` Hannes Reinecke
2019-10-22 12:21   ` Steffen Maier
2019-10-21  9:53 ` [PATCH 13/24] scsi: Kill DRIVER_SENSE Hannes Reinecke
2019-10-21 23:44   ` Finn Thain
2019-10-22  6:10     ` Hannes Reinecke
2021-06-04  6:40   ` Jiri Slaby
2021-06-07 12:21     ` Hannes Reinecke
2021-06-07 12:30       ` Martin K. Petersen
2021-06-07 13:02         ` Hannes Reinecke
2021-06-10 10:52           ` Jiri Slaby
2021-06-10 14:01             ` Hannes Reinecke
2021-06-11  4:50               ` Jiri Slaby
2021-06-11  7:38                 ` Hannes Reinecke
2021-06-14  6:29                   ` Jiri Slaby
2021-06-14  7:20                   ` Jiri Slaby
2019-10-21  9:53 ` [PATCH 14/24] scsi: Kill DRIVER_HARD Hannes Reinecke
2019-10-21  9:53 ` [PATCH 15/24] scsi_error: use DID_TIME_OUT instead of DRIVER_TIMEOUT Hannes Reinecke
2019-10-21  9:53 ` [PATCH 16/24] scsi: Kill DRIVER_TIMEOUT Hannes Reinecke
2019-10-21  9:53 ` [PATCH 17/24] scsi: do not use DRIVER_INVALID Hannes Reinecke
2019-10-21  9:53 ` [PATCH 18/24] st: return error code in st_scsi_execute() Hannes Reinecke
2019-10-21 16:41   ` Bart Van Assche
2019-10-22  6:28     ` Hannes Reinecke
2019-10-22 14:54       ` Bart Van Assche
2019-10-21  9:53 ` [PATCH 19/24] scsi_ioctl: return error code when blk_map_user() fails Hannes Reinecke
2019-10-21 16:44   ` Bart Van Assche
2019-10-22  6:32     ` Hannes Reinecke
2019-10-21  9:53 ` [PATCH 20/24] scsi_dh_alua: do not interpret DRIVER_ERROR Hannes Reinecke
2019-10-21  9:53 ` [PATCH 21/24] xen-scsiback: stop using DRIVER_ERROR Hannes Reinecke
2019-10-21  9:53 ` [PATCH 22/24] scsi: " Hannes Reinecke
2019-10-21  9:53 ` [PATCH 23/24] scsi: Kill DRIVER_MEDIA, DRIVER_SOFT, and DRIVER_BUSY Hannes Reinecke
2019-10-21  9:53 ` [PATCH 24/24] scsi: Drop now obsolete driver_byte definitions Hannes Reinecke
2019-10-21 18:32 ` [PATCH RFC 00/24] scsi: Revamp result values Douglas Gilbert
2019-10-21 23:20   ` Finn Thain
2019-10-22  6:24   ` Hannes Reinecke
2019-10-31 11:04 [PATCHv2 00/24] Revamp SCSI " Hannes Reinecke
2019-10-31 11:04 ` [PATCH 05/24] scsi: use standard SAM status codes Hannes Reinecke
2019-11-01 16:26   ` Bart Van Assche
2019-11-01 16:54     ` Hannes Reinecke
2019-11-01 18:10       ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.21.1910220956400.14@nippy.intranet \
    --to=fthain@telegraphics.com.au \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.bottomley@hansenpartnership.com \
    --cc=jthumshirn@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.