Staging: hv: storvsc: Optimize bounce buffer handling for the "write" case
Optimize bounce buffer handling for the "write" case. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b38cc43432
commit
3612ef99b0
@@ -425,17 +425,17 @@ static void storvsc_commmand_completion(struct hv_storvsc_request *request)
|
|||||||
struct scsi_sense_hdr sense_hdr;
|
struct scsi_sense_hdr sense_hdr;
|
||||||
struct vmscsi_request *vm_srb;
|
struct vmscsi_request *vm_srb;
|
||||||
|
|
||||||
|
vm_srb = &request->vstor_packet.vm_srb;
|
||||||
if (cmd_request->bounce_sgl_count) {
|
if (cmd_request->bounce_sgl_count) {
|
||||||
|
if (vm_srb->data_in == READ_TYPE) {
|
||||||
/* FIXME: We can optimize on writes by just skipping this */
|
copy_from_bounce_buffer(scsi_sglist(scmnd),
|
||||||
copy_from_bounce_buffer(scsi_sglist(scmnd),
|
|
||||||
cmd_request->bounce_sgl,
|
cmd_request->bounce_sgl,
|
||||||
scsi_sg_count(scmnd));
|
scsi_sg_count(scmnd));
|
||||||
destroy_bounce_buffer(cmd_request->bounce_sgl,
|
destroy_bounce_buffer(cmd_request->bounce_sgl,
|
||||||
cmd_request->bounce_sgl_count);
|
cmd_request->bounce_sgl_count);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vm_srb = &request->vstor_packet.vm_srb;
|
|
||||||
scmnd->result = vm_srb->scsi_status;
|
scmnd->result = vm_srb->scsi_status;
|
||||||
|
|
||||||
if (scmnd->result) {
|
if (scmnd->result) {
|
||||||
|
Reference in New Issue
Block a user