Spdk/test/unit
Mike Gerdts b47cee6c96 blob: add IO channels for esnap clones
The channel passed to blob IO operations is useful for tracking
operations within the blobstore and the bs_dev that the blobstore
resides on. Esnap clone blobs perform reads from other bs_devs and
require per-thread, per-bs_dev channels.

This commit augments struct spdk_bs_channel with a tree containing
channels for the external snapshot bs_devs. The tree is indexed by blob
ID. These "esnap channels" are lazily created on the first read from an
external snapshot via each bs_channel. They are removed as bs_channels
are destroyed and blobs are closed.

Change-Id: I97aebe5a2f3584bfbf3a10ede8f3128448d30d6e
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14974
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2023-03-28 03:57:35 +00:00
..
include histogram_data: check bucket_shift when merging 2022-12-21 09:32:40 +00:00
lib blob: add IO channels for esnap clones 2023-03-28 03:57:35 +00:00
.gitignore test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00
unittest.sh ut/vfio_user: add UT execution for vfio_user 2023-03-27 10:50:42 +00:00