This fixes a segfault found by using a very small logical volume. The PMEM file chunk map area wasn't including the chunk map struct itself. In PMEM, a single entry as returned by _reduce_vol_get_chunk_map() is made up of a 'struct spdk_reduce_chunk_map' plus one uint64_t for each backing IO unit for the volume (# depends on vol parms). So when an app got close to the end of the chunk map indices it would run off the end of PMEM and segfault. With this fix that no longer happens however data integrity issues now show up with fio. I believe this fix is valid though and am pursuing the data integrity issue as something new. Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I69a223064c7bbd44bcd0a62d155cf409603970a3 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/461316 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
Makefile | ||
reduce.c |