Spdk/lib/blob
Jim Harris f536eb583c blob: turn non-iov splitting into additional blob calls
For I/O that do not span a cluster boundary, just issue
a single batch command to underlying block device.

For I/O that do span a cluster boundary, issue a batch
command for each against the blob (not the block device)
for each cluster accessed by the I/O.

This is all in preparation for upcoming patches which
enable thin provisioning and hence cluster allocation
in the I/O path.  It will simplify implementation of
the cluster allocation path since now that code only
needs to be concerned with a single allocation at once.

Splitting for readv/writev will be handled in a
later patch.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ia2341abbda599dace3357c4eec06ab6602ef81a8

Reviewed-on: https://review.gerrithub.io/395027
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-01-18 16:39:50 -05:00
..
bdev blob: blob_bdev no longer converts unmap to write zeroes 2017-12-06 17:21:46 -05:00
blobstore.c blob: turn non-iov splitting into additional blob calls 2018-01-18 16:39:50 -05:00
blobstore.h blob: cluster allocation/deallocation for thin provisioned blob 2018-01-17 07:58:57 -05:00
Makefile build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
request.c blob: add spdk_bs_batch_xxx_blob variants 2018-01-18 16:39:50 -05:00
request.h blob: add spdk_bs_batch_xxx_blob variants 2018-01-18 16:39:50 -05:00