On 21.05.23 03:19, Martin K. Petersen wrote:
John,@Martin, Do you have any preference for what we do now? This code which does not check for error and does not pre-zero sshdr is longstanding, so I am not sure if Juergen's change is required for for v6.4. I'm thinking to fix callers for v6.5 and also maybe change the API, as I described.As I alluded to in the tracing thread, I'd like to see SK/ASC/ASCQ being generally available in the scsi_cmnd results instead of all this sense buffer and sense header micromanagement in every caller. That's a pretty heavy lift, though. Short term we need all callers to be fixed up. I'm not a particularly big fan of scsi_execute_cmd() zeroing something being passed in. I wonder if it would be worth having a DECLARE_SENSE_HEADER()?
sshdr is output only data, so setting it before returning seems to be a sensible thing to do. Letting the callers do that is kind of a layering violation IMHO, as this would spread the knowledge that scsi_execute_cmd() isn't setting its output data always. In the end its your decision, of course. Juergen
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature