Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions Documentation/ABI/stable/sysfs-block
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,30 @@ Description:
last zone of the device which may be smaller.


What: /sys/block/<disk>/queue/copy_max_bytes
Date: May 2026
Contact: [email protected]
Description:
[RW] This is the maximum number of bytes that the block layer
will allow for a copy request. This is always smaller or
equal to the maximum size allowed by the block driver.
Any value higher than 'copy_max_hw_bytes' will be reduced to
'copy_max_hw_bytes'. Writing '0' to this attribute will disable
copy offloading for this block device. If copy offloading is
disabled, copy requests will be translated into read and write
requests.


What: /sys/block/<disk>/queue/copy_max_hw_bytes
Date: May 2026
Contact: [email protected]
Description:
[RO] This is the maximum number of bytes that is allowed for
a single data copy request. Set by the block driver. The value
zero indicates that the block device does not support copy
offloading.


What: /sys/block/<disk>/queue/crypto/
Date: February 2022
Contact: [email protected]
Expand Down
4 changes: 4 additions & 0 deletions Documentation/block/null_blk.rst
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,7 @@ zone_size=[MB]: Default: 256
zone_nr_conv=[nr_conv]: Default: 0
The number of conventional zones to create when block device is zoned. If
zone_nr_conv >= nr_zones, it will be reduced to nr_zones - 1.

max_copy_bytes=[size in bytes]: Default: UINT_MAX
A module and configfs parameter which can be used to set hardware/driver
supported maximum copy offload limit.
2 changes: 1 addition & 1 deletion block/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
obj-y := bdev.o fops.o bio.o elevator.o blk-core.o blk-sysfs.o \
blk-flush.o blk-settings.o blk-ioc.o blk-map.o \
blk-merge.o blk-timeout.o blk-lib.o blk-mq.o \
blk-mq-tag.o blk-mq-dma.o blk-stat.o \
blk-mq-tag.o blk-mq-dma.o blk-stat.o blk-copy.o \
blk-mq-sysfs.o blk-mq-cpumap.o blk-mq-sched.o ioctl.o \
genhd.o ioprio.o badblocks.o partitions/ blk-rq-qos.o \
disk-events.o blk-ia-ranges.o early-lookup.o
Expand Down
1 change: 1 addition & 0 deletions block/bio.c
Original file line number Diff line number Diff line change
Expand Up @@ -851,6 +851,7 @@ static int __bio_clone(struct bio *bio, struct bio *bio_src, gfp_t gfp)
bio->bi_write_hint = bio_src->bi_write_hint;
bio->bi_write_stream = bio_src->bi_write_stream;
bio->bi_iter = bio_src->bi_iter;
bio->bi_copy_ctx = bio_src->bi_copy_ctx;

if (bio->bi_bdev) {
if (bio->bi_bdev == bio_src->bi_bdev &&
Expand Down
Loading
Loading