Spdk/lib/bdev
Jim Harris de4d961996 bdev: set iovs on correct bdev_io in spdk_bdev_io_put_buf
spdk_bdev_io_put_buf() is responsible for reclaiming
bdev-allocated buffers from a bdev_io.  If there are
bdev_ios waiting for one of these buffers, it calls
spdk_bdev_io_set_buf() on the next bdev_io in the queue.
This will set the iov_base and iov_len on the bdev_io
to point to the bdev-allocated buffer.

But spdk_bdev_io_put_buf() was calling spdk_bdev_io_set_buf()
on the just completed bdev_io, not the next bdev_io in the
queue.  So fix that.

Fixes: 844aedf8 ("bdev: Simplify get/set/put buf functions")
Reported-by: Alan Tu
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ibbcad6e35a3db6991bd7deb3516229572f021638

Reviewed-on: https://review.gerrithub.io/424880
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2018-09-06 23:42:32 +00:00
..
aio thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
error bdev/part: use internal buffers for part and product name. 2018-08-30 22:08:56 +00:00
gpt bdev/gpt: vbdev_gpt_examine: no need to read gpt if bdev is too small 2018-09-06 16:53:36 +00:00
iscsi thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
lvol bdev/lvol: _create_lvol_disk(): unregister disk if something wrong 2018-09-05 21:57:55 +00:00
malloc bdev/malloc: remove blocklen power of 2 restriction 2018-08-15 17:36:00 +00:00
null thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
nvme thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
passthru thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
pmem thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
raid thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
rbd bdev/rbd: fix memory leak and spdk_io_device_register fail 2018-09-05 19:26:24 +00:00
rpc bdev: remove get_bdevs_config RPC 2018-09-05 19:46:17 +00:00
split bdev/part: use internal buffers for part and product name. 2018-08-30 22:08:56 +00:00
virtio thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
bdev.c bdev: set iovs on correct bdev_io in spdk_bdev_io_put_buf 2018-09-06 23:42:32 +00:00
Makefile bdev: add raid bdev module 2018-07-16 20:50:40 +00:00
part.c thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
scsi_nvme.c bdev: move error union to internal spdk_bdev_io struct 2018-06-26 20:04:07 +00:00
vtune.c bdev: disable new GCC 7 warning in VTune code 2018-03-19 15:58:15 -04:00