It seems like the code currently passes whatever it was using for writes
to WRITE SAME.  Just switch it to WRITE ZEROES, although that doesn't
need any payload.

Untested, and confused by the code, maybe someone who understands it
better than me can help..

Signed-off-by: Christoph Hellwig <h...@lst.de>
Reviewed-by: Hannes Reinecke <h...@suse.com>
---
 drivers/md/dm-kcopyd.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/md/dm-kcopyd.c b/drivers/md/dm-kcopyd.c
index 9e9d04cb7d51..f85846741d50 100644
--- a/drivers/md/dm-kcopyd.c
+++ b/drivers/md/dm-kcopyd.c
@@ -733,11 +733,11 @@ int dm_kcopyd_copy(struct dm_kcopyd_client *kc, struct 
dm_io_region *from,
                job->pages = &zero_page_list;
 
                /*
-                * Use WRITE SAME to optimize zeroing if all dests support it.
+                * Use WRITE ZEROES to optimize zeroing if all dests support it.
                 */
-               job->rw = REQ_OP_WRITE_SAME;
+               job->rw = REQ_OP_WRITE_ZEROES;
                for (i = 0; i < job->num_dests; i++)
-                       if (!bdev_write_same(job->dests[i].bdev)) {
+                       if (!bdev_write_zeroes_sectors(job->dests[i].bdev)) {
                                job->rw = WRITE;
                                break;
                        }
-- 
2.11.0

Reply via email to