Spdk/include/spdk
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
..
accel.h accel: correct spdk_accel_completion_cb's description 2022-10-19 07:51:03 +00:00
assert.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
barrier.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
base64.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
bdev_module.h bdev: Add copy IO type 2022-11-02 10:33:00 +00:00
bdev_zone.h include: add extern c to bdev_zone.h 2022-10-25 07:08:57 +00:00
bdev.h bdev: Add copy IO type 2022-11-02 10:33:00 +00:00
bit_array.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
bit_pool.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
blob_bdev.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
blob.h blob: Add functions to find [un]allocated io_unit 2022-09-15 08:23:56 +00:00
blobfs_bdev.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
blobfs.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
conf.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
cpuset.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
crc16.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
crc32.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
dif.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
dma.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
endian.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
env_dpdk.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
env.h env/pci: add detach() callback to pci_device_provider 2022-09-01 08:48:32 +00:00
event.h event: pass "const struct option*" to spdk_app_parse_args() 2022-09-13 10:48:58 +00:00
fd_group.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
fd.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
file.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ftl.h ftl: check structure sizes for future ABI compatibility 2022-09-20 19:24:26 +00:00
gpt_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
hexlify.h util: made hexlify and unhexlify functions public 2022-09-06 07:17:13 +00:00
histogram_data.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
idxd_spec.h lib/idxd: update decompression flags 2022-09-23 17:55:12 +00:00
idxd.h accel/idxd/iaa: Convert to use iovecs 2022-09-23 00:10:08 +00:00
init.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ioat_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ioat.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
iscsi_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
json.h json: fix parsing json problems when json config is invalid. 2022-09-02 07:32:21 +00:00
jsonrpc.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
likely.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
log.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
lvol.h blobstore: implement spdk_bs_grow and bdev_lvol_grow_lvstore RPC 2022-06-28 17:55:43 +00:00
memory.h env_dpdk: Automatically map PCI BARs into VFIO 2022-09-26 11:48:39 +00:00
mmio.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nbd.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
notify.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_intel.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ocssd_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ocssd.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_spec.h nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_zns.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme.h nvme/tcp: Allow to choose SSL socket implementation 2022-09-14 07:44:53 +00:00
nvmf_cmd.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvmf_fc_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvmf_spec.h nvmf/tcp: add hpda value check in 'nvmf_tcp_icreq_handle' 2022-09-22 07:45:03 +00:00
nvmf_transport.h nvmf: declare new added migration APIs are experimental 2022-09-21 07:52:22 +00:00
nvmf.h nvmf: make opts structures packed 2022-08-18 10:08:40 +00:00
opal_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
opal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
pci_ids.h nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
pipe.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
queue_extras.h include: remove util.h include from queue_extras.h 2021-04-14 07:25:21 +00:00
queue.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
reduce.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
rpc.h rpc: Add API to get method state mask 2022-09-15 08:25:18 +00:00
scheduler.h include: Remove the last line break. 2022-09-01 08:30:24 +00:00
scsi_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
scsi.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
sock.h sock: Ensure recv/send_buf_size to be larger than g_sock_impl_opts.recv/send_buf_size 2022-10-21 07:17:37 +00:00
stdinc.h nvmf/vfio-user: support multiple poll groups in interrupt mode 2022-10-26 07:32:54 +00:00
string.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
thread.h thread: note that spdk_thread_get_last_tsc(NULL) is allowed 2022-09-14 04:35:20 +00:00
trace_parser.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
trace.h trace: allocate shm filesize based on number of cores used 2022-09-20 10:17:45 +00:00
tree.h util: rename RB_ROOT into _RB_ROOT 2021-06-04 22:46:40 +00:00
util.h util: Extract a common lib between iovs and buf. 2022-06-20 10:01:15 +00:00
uuid.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
version.h version: SPDK 23.01 pre 2022-09-23 20:12:30 +00:00
vfio_user_pci.h lib/vfio-user: add spdk_vfio_user_dev_send_request as public function 2022-09-23 15:16:01 +00:00
vfio_user_spec.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vfu_target.h lib/vfu_tgt: add library for PCI device emulation 2022-09-29 19:42:56 +00:00
vhost.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vmd.h vmd: method for forcing a rescan 2022-09-01 08:48:32 +00:00
xor.h lib/util: add ISA-L accelerated xor generation 2022-09-29 22:52:45 +00:00
zipf.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00