On Wed, 2018-04-18 at 17:01 +0200, Johannes Thumshirn wrote: > here's a early preview of my SCSI results rework so we can eventually > discuss things next week at LSF/MM (it still has compiler errors on > aic7xxx and scsi_debug). > > The motivation behing this is that some drivers have failed to set the > scsi_cmnd::result bytes correctly in the past and this is resulting in > hard to case down errors. > > The open points: > 1) 148 files changed, treewide. That's huge. Is it worth it? > 2) remove the old status byte definitions > 3) add a scsi_cmnd::result == 0 wrapper > 3) convert aic7xx's CAM stuff so this series compiles cleanly > 4) What the heck is the SDEG_RES_IMMED_MASK stuff in scsi_debug doing > 5) change scsi_execute() so we get a newish 'struct scsi_results' instead of > an int > 6) {to,from}_scsi_result() are odd > 7) find suitable commit messages
Hello Johannes, Thank you for having come up with this so quickly. Something I do not like about this patch series is that several new very short helper functions are introduced, e.g. set_scsi_result(), clear_scsi_result(), to_scsi_result() and from_scsi_result(). If we would make scsi_result a union of a 32-bit integer and a struct with the driver, host, msg and status bytes then we would not need any of these new helper functions. Additionally, that approach would allow us to eliminate the {set,get}_{driver,host,msg,status}_byte() functions. Thanks, Bart.