Re: [PATCH v3 0/5] Target sense data handling modifications

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

 



On 7/7/2015 1:51 AM, Nicholas A. Bellinger wrote:
On Mon, 2015-07-06 at 16:15 +0300, Sagi Grimberg wrote:
This patch set modifies the target sense data handling.
First, cleanup transport_send_check_condition_and_sense()
by splitting the sense translation to a separate function.
Second, convert sense reason the switch statement to a table
driven code. Third, Use scsi common helpers to correctly set
the sense buffer. Last, Fix wrong setting of t10-pi errors
(non descriptor format).

Changes from v2:
- Pass sense_reason_t to scsi_translate_sense()
- Split patch 3:
   1) move the helpers to scsi_common.c
   2) use helpers in the target code
   3) always use descriptor-type sense data for PI errors

Changes from v1:
- Added Reviewed-by tags for patches 1,2
- Fixed compilation error after testing patch #3 on scsi/for-next
   branch. Moved scsi_sense_desc_find() to scsi_common as well (dependency)
   and also moved <asm/unaligned.h> include to scsi_common.h

Changes from v0:
- Added Bart's patches and converted my patch to apply over his
- Moved scsi sense helpers to scsi_common

Bart Van Assche (2):
   target: Inline transport_get_sense_codes()
   target: Split transport_send_check_condition_and_sense()

Sagi Grimberg (3):
   scsi: Move sense handling routines to scsi_common
   target: Use scsi helpers to build the sense data correctly
   target: Fix wrong setting of sense format for PI errors

  drivers/scsi/scsi_common.c             |  98 ++++++++
  drivers/scsi/scsi_error.c              |  99 +-------
  drivers/target/target_core_spc.c       |  31 +--
  drivers/target/target_core_transport.c | 399 ++++++++++++---------------------
  include/scsi/scsi_common.h             |   5 +
  include/scsi/scsi_eh.h                 |   7 +-
  include/target/target_core_base.h      |   1 +
  7 files changed, 256 insertions(+), 384 deletions(-)


Nice series to make scsi-core and target-core use common code.  ;)

Applied to target-pending/for-next.

hch + jejb, please let me know if you have any objections to taking this
through target-pending.

Can you please fold into patch #5 this change suggested by Bart:

diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 79bb8d1..9c34937 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -2625,7 +2625,7 @@ struct sense_info {
        u8 asc;
        u8 ascq;
        bool add_sector_info;
-   int desc_format;
+ bool desc_format;
 };

 static const struct sense_info sense_info_table[] = {
@@ -2709,21 +2709,21 @@ static const struct sense_info sense_info_table[] = {
                .asc = 0x10,
                .ascq = 0x01, /* LOGICAL BLOCK GUARD CHECK FAILED */
                .add_sector_info = true,
-           .desc_format = 1,
+         .desc_format = true,
        },
        [TCM_LOGICAL_BLOCK_APP_TAG_CHECK_FAILED] = {
                .key = ILLEGAL_REQUEST,
                .asc = 0x10,
.ascq = 0x02, /* LOGICAL BLOCK APPLICATION TAG CHECK FAILED */
                .add_sector_info = true,
-           .desc_format = 1,
+         .desc_format = true,
        },
        [TCM_LOGICAL_BLOCK_REF_TAG_CHECK_FAILED] = {
                .key = ILLEGAL_REQUEST,
                .asc = 0x10,
.ascq = 0x03, /* LOGICAL BLOCK REFERENCE TAG CHECK FAILED */
                .add_sector_info = true,
-           .desc_format = 1,
+         .desc_format = true,
        },
        [TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE] = {
                /*
--

Thanks!
--
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



[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