lib/ftl: Process read's on user thread

Since read thread was removed user IO read
should be processed on user thread.

Change-Id: I4088c215e342ac6ef1255057617a0a12976129aa
Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/544
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
This commit is contained in:
Wojciech Malikowski 2019-10-25 04:28:11 -04:00 committed by Tomasz Zawadzki
parent 6557c2bf82
commit e047840adc

View File

@ -2040,22 +2040,10 @@ spdk_ftl_write(struct spdk_ftl_dev *dev, struct spdk_io_channel *ch, uint64_t lb
return 0;
}
static void
_ftl_io_read(void *arg)
{
ftl_io_read((struct ftl_io *)arg);
}
void
ftl_io_read(struct ftl_io *io)
{
struct spdk_ftl_dev *dev = io->dev;
if (ftl_check_core_thread(dev)) {
ftl_io_call_foreach_child(io, ftl_submit_read);
} else {
spdk_thread_send_msg(ftl_get_core_thread(dev), _ftl_io_read, io);
}
ftl_io_call_foreach_child(io, ftl_submit_read);
}
int