[RFC 0/3] Btrfs checksum offload
Kanchan Joshi
joshi.k at samsung.com
Thu Jan 30 01:22:23 PST 2025
On 1/29/2025 9:05 PM, Christoph Hellwig wrote:
>> This patch series: (a) adds checksum offload awareness to the
>> block layer (patch #1),
> I've skipped over the patches and don't understand what this offload
> awareness concept does compared the file system simply attaching PI
> metadata.
Difference is that FS does not have to attach any PI for offload.
Offload is about the Host doing as little as possible, and the closest
we get there is by setting PRACT bit.
Attaching PI is not really needed, neither for FS nor for block-layer,
for pure offload.
When device has "ms == pi_size" format, we only need to send I/O with
PRACT set and device take care of attaching integrity buffer and
checksum generation/verification.
This is abstracted as 'offload type 1' in this series.
For other format "ms > pi_size" also we set the PRACT but integrity
buffer also needs to be passed. This is abstracted as 'offload type 2'.
Still offload as the checksum processing is done only by the device.
Block layer Auto-PI is a good place because all above details are common
and remain abstracted, while filesystems only need to decide whether
they want to send the flag (REQ_INTEGRITY_OFFLOAD) to use the facility.
More information about the Linux-nvme
mailing list