Spdk/lib/ftl
Evgeniy Kochetov d14afd5000 bdev: Add copy IO type
Copy operation is defined by source and destination LBAs and LBA count
to copy. For destiantion LBA and LBA count we reuse exiting fields
`offset_blocks` and `num_blocks` in `struct spdk_bdev_io`. For source
LBA new field `src_offset_blocks` was added.

`spdk_bdev_get_max_copy()` function can be used to retrieve maximum
possible unsplit copy size. Zero values means unlimited. It is allowed
to submit larger copy size but it will be split into several bdev IOs.

Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com>
Change-Id: I2ad56294b6c062595c026ffcf9b435f0100d3d7e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14344
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Mellanox Build Bot
2022-11-02 10:33:00 +00:00
..
mngt build: add explicit vars init to silence LTO related warning 2022-10-05 10:24:53 +00:00
upgrade ftl: Add explicit values to the ftl_layout_region_type 2022-09-20 19:24:26 +00:00
utils ftl: check structure sizes for future ABI compatibility 2022-09-20 19:24:26 +00:00
ftl_band_ops.c lib/ftl: Don't retry on write failure 2022-09-20 19:24:26 +00:00
ftl_band.c FTL: Move base device sb to LBA 0 2022-09-20 19:24:26 +00:00
ftl_band.h ftl: Change metadata to use structure packing 2022-09-20 19:24:26 +00:00
ftl_core.c FTL: close ftl bdev in original thread 2022-09-22 07:10:03 +00:00
ftl_core.h FTL: Move base device sb to LBA 0 2022-09-20 19:24:26 +00:00
ftl_debug.c ftl: I/O statistics 2022-09-20 19:24:26 +00:00
ftl_debug.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_init.c ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_internal.h ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_io.c ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_io.h ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_l2p_cache.c ftl: I/O statistics 2022-09-20 19:24:26 +00:00
ftl_l2p_cache.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_l2p_flat.c FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p_flat.h FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p.c ftl: Add recovery and restart path for trim 2022-09-09 19:44:29 +00:00
ftl_l2p.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_layout.c FTL: Move base device sb to LBA 0 2022-09-20 19:24:26 +00:00
ftl_layout.h ftl: Add explicit values to the ftl_layout_region_type 2022-09-20 19:24:26 +00:00
ftl_nv_cache_io.h FTL: Initial nv cache structure 2022-08-12 09:01:40 +00:00
ftl_nv_cache.c lib/ftl: Don't retry on write failure 2022-09-20 19:24:26 +00:00
ftl_nv_cache.h ftl: Change metadata to use structure packing 2022-09-20 19:24:26 +00:00
ftl_p2l.c lib/ftl: Don't retry on write failure 2022-09-20 19:24:26 +00:00
ftl_reloc.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_rq.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_sb_common.h ftl: Change metadata to use structure packing 2022-09-20 19:24:26 +00:00
ftl_sb_current.h ftl: Change metadata to use structure packing 2022-09-20 19:24:26 +00:00
ftl_sb.c ftl: Add md upgrade templates for P2L/Band/Chunk from version 0 to version 1 2022-09-20 19:24:26 +00:00
ftl_sb.h ftl: Add metadata upgrade framework 2022-09-20 19:24:26 +00:00
ftl_trace.c ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_trace.h ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_utils.h FTL: Add ftl mempools 2022-08-02 19:00:42 +00:00
ftl_writer.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_writer.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
Makefile bdev: Add copy IO type 2022-11-02 10:33:00 +00:00
spdk_ftl.map ftl: I/O statistics 2022-09-20 19:24:26 +00:00