[PATCHSET] Add support for write zeroes operation in Block layer and NVMe Driver.
Chaitanya Kulkarni
ckulkarnilinux at gmail.com
Tue Nov 15 22:50:34 PST 2016
1. Block layer implementation details :-
a. Introducing __blkdev_issue_zeroout variant of exiting code.
b. Introducing new request operation flag REQ_OP_WRITE_ZEROES to represent
write zeroes operation.
c. Mechanism to issue bios without payload with the help of
__blkdev_issue_write_zeroes block library function. In block layer
blkdev_issue_zeroout/__blkdev_issue_zeroout APIs are exported to execute
write zeroes operation. Based on the device support these
functions will :-
1. Try to execute optimized Write Zeroes (REQ_OP_WRITE_ZEROES).
2. If REQ_OP_WRITE_ZEROES is not supported, it will try to write zeroes
using write same (REQ_OP_WRITE_SAME) operation.
3. In case write zeroes and write same are not supported zeroes are
written using regular write (REQ_OP_WRITE) operation.
2. NVMe over Fabric Driver implementation details :-
1. NVMe write zeroes command definitions for host and target.
2. NVMe write zeroes command implementation for host and target.
More information about the Linux-nvme
mailing list