mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 10:11:36 +00:00
dm kcopyd: switch to use REQ_OP_WRITE_ZEROES
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 <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
ac62d6208a
commit
615ec946ab
@ -733,11 +733,11 @@ int dm_kcopyd_copy(struct dm_kcopyd_client *kc, struct dm_io_region *from,
|
|||||||
job->pages = &zero_page_list;
|
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++)
|
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;
|
job->rw = WRITE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user