containerized-data-importer/doc
Matthew Arnold 6f7809e7a4
VDDK: Fix NBD status coalescing for large blocks. (#3242)
* Mock NBD functions in VDDK unit tests.

Also add some example tests for GetBlockStatus.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

* Avoid infinite loop by returning whole block.

Also add a unit test to trigger this code. Without the fix, this spins
"No new block status data" messages forever, as reported in the bug.
With the fix, this continues the data transfer without zero-range or
hole-punch optimizations.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

* Correctly extend merged block length.

Bring in the previously proposed fix to make sure merged blocks have
correct lengths, avoiding the initial issue.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

* Add two more GetBlockStatus unit tests.

Hopefully this makes it more obvious what GetBlockStatus actually does.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

* Add unit tests for larger block sizes.

The first test intentionally overflows the result block's length field
and causes an infinite loop in GetBlockStatus, as pointed out in the
problem report. This will be fixed in the next commit.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

* Avoid integer overflow and sort out casts.

Increase the size of BlockStatusData.Length to an int64, to avoid
overflow in GetBlockStatus. Also change BlockStatusData.Offset to an
int64 and remove a handful of unnerving integer conversions. Favor int64
over uint64 to match system libraries, and add a few necessary
conversions mostly isolated to libnbd interfaces.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

* Fix alignment for multi-stage VDDK documentation.

Signed-off-by: Matthew Arnold <marnold@redhat.com>

---------

Signed-off-by: Matthew Arnold <marnold@redhat.com>
2024-05-11 02:52:25 +02:00
..
archived Minor typo fix to check CI in master 2018-11-28 13:40:27 +02:00
diagrams Update diagram (again), formatting and rewriting 2018-03-02 12:57:00 -06:00
annotations.md Google Cloud Storage Import Support (#2615) 2023-03-22 16:49:29 +00:00
basic_pv_pvc_dv.md Update external links. (#1946) 2021-09-22 14:16:30 +02:00
blank-raw-image.md move api groups to v1beta1 (#1232) 2020-07-10 15:47:38 +02:00
block_cri_ownership_config.md Document CRI configurable that smoothens non-root containers usage of block devices (#2458) 2022-11-04 00:47:23 +00:00
cdi-config.md Disable DV GC by default (#2754) 2023-06-20 21:09:19 +02:00
cdi-populators.md Add PVC spec mutating webhook rendering based on StorageProfiles (#2813) 2024-02-12 15:26:28 +01:00
clone-block-datavolume.md Update cross volume mode DV clone doc (#1646) 2021-02-10 09:56:55 +01:00
clone-datavolume.md namespace transfer doc (#1861) 2021-07-12 20:18:43 +02:00
clone-from-volumesnapshot-source.md Fix volume/access mode inferring for temp host assisted source PVC in snapshot clones (#3155) 2024-04-05 15:29:50 +02:00
csi-cloning.md CSI Volume clone (#1824) 2021-08-05 14:01:48 +02:00
datavolume-annotations.md Add support for linkerd injection annotations on datavolumes (#2954) 2023-11-16 19:23:21 +01:00
datavolume-claim-adoption.md Claim Adoption Doc (#3221) 2024-05-03 22:44:10 +02:00
datavolumes.md VDDK: Fix NBD status coalescing for large blocks. (#3242) 2024-05-11 02:52:25 +02:00
debug.md Allow modifying log verbosity in CDI (#2882) 2023-09-08 14:26:58 +02:00
design.md Google Cloud Storage Import Support (#2615) 2023-03-22 16:49:29 +00:00
efficient-cloning.md Add doc for fallback to host-assisted cloning (#2963) 2023-11-06 21:57:26 +01:00
exposing-upload-proxy.md docs: fix exposing upload porxy ingress (#2578) 2023-02-09 00:54:16 +01:00
external-dv-population.md Add external-population docs (#2549) 2023-01-21 00:39:26 +01:00
image-from-registry.md docs: Add docs for containerdisk labels (#3153) 2024-03-27 07:33:35 +01:00
import-block-pv.md move api groups to v1beta1 (#1232) 2020-07-10 15:47:38 +02:00
local-storage-selector.md move api groups to v1beta1 (#1232) 2020-07-10 15:47:38 +02:00
maintainer.md Add document explaining requirements for mainters/approvers (#2641) 2023-03-21 04:25:21 +00:00
metrics.md Refactor recording-rules and alerts code (#3068) 2024-02-18 16:05:42 +01:00
namespace-transfer.md namespace transfer doc (#1861) 2021-07-12 20:18:43 +02:00
onboarding-storage-provisioners.md Add storage provider onboarding doc (#2914) 2023-11-10 16:01:18 +01:00
os-image-poll-and-update.md Add DataImportCron snapshot sources docs (#2747) 2023-06-23 01:06:33 +02:00
preallocation.md Tiny wording change to remove reference to QCOW format. (#1893) 2021-08-17 22:06:54 +02:00
pvc-mutating-webhook-rendering.md Rename PVC webhook rendering label to applyStorageProfile (#3124) 2024-03-07 08:42:43 +01:00
quota.md move api groups to v1beta1 (#1232) 2020-07-10 15:47:38 +02:00
RBAC.md Clone permission refactoring (#906) 2019-08-05 11:04:03 -04:00
releases.md Update the release documentation to the new PROW CI. (#1738) 2021-04-09 01:06:58 +02:00
scratch-space.md Don't use nbdkit for xz or gz (#2351) 2022-07-14 00:27:59 +02:00
smart-clone.md namespace transfer doc (#1861) 2021-07-12 20:18:43 +02:00
storageprofile.md Add PVC spec mutating webhook rendering based on StorageProfiles (#2813) 2024-02-12 15:26:28 +01:00
supported_operations.md Google Cloud Storage Import Support (#2615) 2023-03-22 16:49:29 +00:00
upload.md Remove v1alpha1 as a stored version from our CRDs (#2407) 2022-12-20 00:26:50 +00:00
waitforfirstconsumer-storage-handling.md Enable HonorWaitForFirstConsumer by default (#2445) 2022-10-19 03:57:31 +01:00