Spdk/lib
Jim Harris 2edc652913 reduce: save num_io_units and chunk_is_compressed to req object
When a chunk cannot be compressed enough to save one I/O
unit, we will just write the uncompressed data to disk.  In
this case, we want the helper routine to use the decomp_buf
instead of the comp_buf.

To facilitate that, save some information in the request
object on the number of io_units to be read from or written
to disk, and whether the data is compressed or not.  We
could easily deduce if the data is compressed based on the
number of io_units but saving it in the structure will
save a few instructions and simplify the code a bit.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/449259
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-03-28 03:45:29 +00:00
..
bdev bdev/compress: add reduce integration 2019-03-27 19:17:46 +00:00
blob blobstore: switch to spdk_*malloc(). 2019-03-26 23:27:29 +00:00
blobfs blobfs: remove the assert. 2019-03-22 18:51:32 +00:00
conf string: spdk_strtol to delegate additional error checking 2019-01-29 00:10:57 +00:00
copy lib/copy: unregister copy engine on finish 2018-10-15 17:42:20 +00:00
env_dpdk env_dpdk: Run DPDK in legacy memory mode through spdk_env_opts 2019-03-26 12:00:36 +00:00
event event: passing env_context from app 2019-03-21 17:42:29 +00:00
ftl lib/ftl: Avoid splitting read's in case contiguous PPAs 2019-03-21 20:11:35 +00:00
ioat ioat: don't rely on phys_addr retrieved from spdk_malloc() 2019-03-20 01:06:09 +00:00
iscsi iscsi: Fix performance degradation due to sock_readv 2019-03-14 23:09:56 +00:00
json json_util: add debug logs to spdk_json_decode_object function 2019-01-10 14:31:37 +00:00
jsonrpc jsonrpc: Use spdk_json_write_named_* APIs throughout 2019-02-04 07:08:04 +00:00
log app: rename traceflag cmdline option to logflag 2018-12-03 19:50:15 +00:00
lvol lvol: add option to change clear method for lvol store creation 2019-02-28 20:50:27 +00:00
nbd nbd: avoid impact to device setup by other task 2019-02-15 22:02:48 +00:00
net net: Use spdk_json_write_named_* APIs throughout 2019-02-04 07:08:04 +00:00
nvme nvme:complete I/O and abort rest I/O before destroy io_qpair 2019-03-28 01:06:17 +00:00
nvmf nvmf: verify each NVMe commands for reservation enabled's NS 2019-03-26 02:57:11 +00:00
reduce reduce: save num_io_units and chunk_is_compressed to req object 2019-03-28 03:45:29 +00:00
rocksdb event: spdk_app_start now takes spdk_msg_fn 2019-03-19 15:54:34 +00:00
rpc rpc: add get_spdk_version rpc method 2019-03-26 22:54:28 +00:00
scsi scsi: Add an API to return DIF context of bdev and CDB 2019-03-08 01:21:26 +00:00
sock sock/vpp: do not continue if buf writed is less than provided 2019-03-12 22:19:42 +00:00
thread thread: add spdk_thread_is_idle() 2019-03-01 21:38:02 +00:00
trace lib/trace: add trace_record tool 2019-01-30 06:36:25 +00:00
ut_mock thread: Eliminate use of pthread_self and thread_ids 2019-01-15 16:53:12 +00:00
util dif: Insert DIF into newly read data block by stream fashion 2019-03-13 01:40:02 +00:00
vhost vhost: check for strdup failure 2019-03-20 02:36:34 +00:00
virtio virtio/pci: don't rely on phys_addr retrieved from spdk_malloc() 2019-03-20 01:06:09 +00:00
Makefile ftl: Initial implementation 2019-01-11 09:15:39 +00:00