Re: [PATCH v3 0/6] scsi: handle special return codes for ABORTED COMMAND
On Fri, 2018-04-20 at 19:15 -0400, Martin K. Petersen wrote: > > Much better, thanks for reworking this. Applied to 4.18/scsi-queue. Thank you! By the way, I've been wondering whether declaring blist_flags_t __bitwise was a wise decision. blist_flags_t is kernel-internal, thus endianness doesn't matter. OTOH, using __bitwise requires explicit casts in many places, which may suppress warnings about integer size mismatch and made me overlook some places where I had to change "unsigned long" to "unsigned long long" in the first place (in the submitted and applied version I think I caught them all). Regards, Martin -- Dr. Martin Wilck, Tel. +49 (0)911 74053 2107 SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)
Re: [PATCH v3 0/6] scsi: handle special return codes for ABORTED COMMAND
Martin, > Here is another attempt to handle the special return codes for ABORTED > COMMAND for certain SCSI devices. Following MKP's recommendation, I've > created two new BLIST flags, simplifying the code in scsi_error.c > compared to the previous versions. Rather than using "free" bits, I > increased the length of blist_flag_t to 64 bit, and used previously > unused bits. I also added checking for obsolete and unused bits. > > For the blist_flag_t size increase, I used sparse to try and avoid > regressions; that necessitated fixing sparse's errors for the current > code first. Much better, thanks for reworking this. Applied to 4.18/scsi-queue. -- Martin K. Petersen Oracle Linux Engineering
[PATCH v3 0/6] scsi: handle special return codes for ABORTED COMMAND
Here is another attempt to handle the special return codes for ABORTED COMMAND for certain SCSI devices. Following MKP's recommendation, I've created two new BLIST flags, simplifying the code in scsi_error.c compared to the previous versions. Rather than using "free" bits, I increased the length of blist_flag_t to 64 bit, and used previously unused bits. I also added checking for obsolete and unused bits. For the blist_flag_t size increase, I used sparse to try and avoid regressions; that necessitated fixing sparse's errors for the current code first. Martin Wilck (6): ilog2: create truly constant version for sparse scsi: use const_ilog2 for array indices scsi: devinfo: change blist_flag_t to 64bit scsi: devinfo: warn on undefined blist flags scsi: devinfo: add BLIST_RETRY_ITF for EMC Symmetrix scsi: devinfo: BLIST_RETRY_ASC_C1 for Fujitsu ETERNUS drivers/scsi/Makefile | 2 +- drivers/scsi/scsi_debugfs.c | 2 +- drivers/scsi/scsi_devinfo.c | 28 + drivers/scsi/scsi_error.c | 7 + drivers/scsi/scsi_sysfs.c | 2 +- include/linux/log2.h| 35 ++--- include/scsi/scsi_device.h | 2 +- include/scsi/scsi_devinfo.h | 75 ++--- 8 files changed, 107 insertions(+), 46 deletions(-) -- 2.16.1