]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Make zero WUT use WRITE SAME with recently allowed NDOB flag.
authormav <mav@FreeBSD.org>
Thu, 1 Oct 2015 16:30:20 +0000 (16:30 +0000)
committermav <mav@FreeBSD.org>
Thu, 1 Oct 2015 16:30:20 +0000 (16:30 +0000)
sys/cam/ctl/ctl_tpc.c

index 33c7db8c03712fca04c40fc007affd2b9e4847f7..6aa2080853b314cd04841f793414a63ca2e7abf4 100644 (file)
@@ -1295,7 +1295,6 @@ complete:
                        ctl_free_io(tio->io);
                        free(tio, M_CTL);
                }
-               free(list->buf, M_CTL);
                if (list->abort) {
                        ctl_set_task_aborted(list->ctsio);
                        return (CTL_RETVAL_ERROR);
@@ -1311,7 +1310,6 @@ complete:
        }
 
        dstblock = list->lun->be_lun->blocksize;
-       list->buf = malloc(dstblock, M_CTL, M_WAITOK | M_ZERO);
        TAILQ_INIT(&run);
        prun = &run;
        list->tbdio = 1;
@@ -1328,9 +1326,9 @@ complete:
                TAILQ_INSERT_TAIL(&list->allio, tiow, links);
                tiow->io = tpcl_alloc_io();
                ctl_scsi_write_same(tiow->io,
-                                   /*data_ptr*/ list->buf,
-                                   /*data_len*/ dstblock,
-                                   /*byte2*/ 0,
+                                   /*data_ptr*/ NULL,
+                                   /*data_len*/ 0,
+                                   /*byte2*/ SWS_NDOB,
                                    /*lba*/ scsi_8btou64(list->range[r].lba),
                                    /*num_blocks*/ len,
                                    /*tag_type*/ CTL_TAG_SIMPLE,