Using `bs_allocate_and_copy_cluster()` instead of a zero-length write makes it possible to inflate/decouple snapshots, as the writes would fail with -EPERM, because the snapshots are marked as read-only. Additionally, zero-length non-vector requests are now completed immediately. It makes it consistent with the vector path (which already does that) and allows us to use the zero-length reads as a context for cluster copy. Fixes #2028. Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ib7fdee352972ecf808833aa179820d85cfab7eed Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8918 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
||
---|---|---|
.. | ||
blob.c | ||
bs_dev_common.c | ||
bs_scheduler.c | ||
Makefile |