pvSCSI: Fix some issues
PATCH 2/6 pvSCSI: Fix some issues
-----
Jun Kamada
# HG changeset patch
# User [email protected]
# Date 1228697626 -32400
# Node ID d69643eb46702bd6b5f6c5d85bf8699cc14fdd12 # Parent e87f99f8bdfd883817989683d1204bef42a4d8f6 [PVSCSI] Fix sense_len
Signed-off-by James Harper <[email protected]>
Signed-off-by Tomonari Horikoshi <[email protected]>
Signed-off-by Jun Kamada <[email protected]>
drivers/xen/scsiback/scsiback.c +12 -3
@@ -148,6 +148,7 @@ void scsiback_do_resp_with_sense(char *sstruct vscsibk_info *info = pending_req->info;int notify;int more_to_do =1 ; +struct scsi_sense_hdr sshdr;unsigned long flags;DPRINTK ("%s\n" ,__FUNCTION__);
@@ -161,9 +162,17 @@ void scsiback_do_resp_with_sense(char *s ring_res->rqid = pending_req->rqid;if (sense_buffer !=NULL ) { -memcpy (ring_res->sense_buffer, sense_buffer, -VSCSIIF_SENSE_BUFFERSIZE ); - ring_res->sense_len =VSCSIIF_SENSE_BUFFERSIZE ; +if (scsi_normalize_sense (sense_buffer, +sizeof (sense_buffer), &sshdr)) { + +int len =8 + sense_buffer[7 ]; + +if (len >VSCSIIF_SENSE_BUFFERSIZE ) + len =VSCSIIF_SENSE_BUFFERSIZE ; + +memcpy (ring_res->sense_buffer, sense_buffer, len); + ring_res->sense_len = len; + } }else { ring_res->sense_len =0 ; }
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel