Spdk/lib
Jim Harris 32d7c91cbc bdev: add spdk_bdev_queue_io_wait()
This function is intended to be used when an spdk_bdev
I/O operation (such as spdk_bdev_write or spdk_bdev_write_blocks)
fails due to spdk_bdev_io buffer exhaustion.  The caller
can queue an spdk_bdev_io_wait structure on the calling thread
which will be invoked when an spdk_bdev_io buffer is available.

While here, turn off error messages in bdev.c related to
spdk_bdev_io pool exhaustion, since we now have an API designed
to gracefully recover from it.

Also modify bdevperf as an example of how to use this new API.

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

Reviewed-on: https://review.gerrithub.io/415074
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-06-20 17:41:47 +00:00
..
bdev bdev: add spdk_bdev_queue_io_wait() 2018-06-20 17:41:47 +00:00
blob blobstore: check return code in IO freeze completion 2018-06-15 00:35:09 +00:00
blobfs thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
conf conf: don't strdup name if section already exist 2018-05-17 17:13:19 +00:00
copy copy/ioat: Add scan_ioat_copy_engine RPC 2018-06-14 03:54:42 +00:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk env.mk: link libnuma if RTE_EAL_NUMA_AWARE_HUGEPAGES is set 2018-06-15 18:42:02 +00:00
event bdev: add set_bdev_options RPC 2018-06-14 14:57:11 +00:00
ioat scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
iscsi iscsi: Refactor a few of loop and branch and remove unnecessary initialization 2018-06-14 03:35:28 +00:00
json json: Add spdk_json_decode_uint16 2018-06-05 21:30:02 +00:00
jsonrpc jsonrpc: fix closed connection hadling 2018-06-08 18:11:18 +00:00
log app: reword -t option help string 2018-06-11 23:37:11 +00:00
lvol thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
nbd thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
net rpc: Add state_mask to each RPC method to make sets of RPCs 2018-05-03 19:48:15 +00:00
nvme nvme: add path status codes (TP 4028) 2018-06-19 23:34:06 +00:00
nvmf nvmf: Only send message on qpair disconnect if on wrong thread 2018-06-15 19:11:29 +00:00
rocksdb thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
rpc rpc: Add option to get_rpc_methods RPC to output only currently usable RPCs 2018-05-04 17:45:48 +00:00
scsi thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
thread thread: assert if io_device_unregister cannot find device 2018-06-18 17:51:40 +00:00
trace app,lib: fix checking mmap return value 2018-03-30 16:18:34 -04:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util thread: Move threading abstraction code out of util 2018-06-12 15:24:07 +00:00
vhost vhost: dump interrupt coalescing parameters in RPC info/config 2018-06-15 18:45:14 +00:00
virtio virtio: remove unnecessary if 2018-06-18 22:31:32 +00:00
Makefile thread: Move threading abstraction code out of util 2018-06-12 15:24:07 +00:00