Closed yasker closed 8 years ago
I think our timeout handling needs work. We should be completing requests from the timeout (with an error) but we're not, currently. EDIT: doh. looks like we actually do. Will keep digging.
I've spend some debug into the issue and found it's because of command deadline calculated wrong. Though when I want to submit a patch for it, found your commit is already in place in November:
commit 611e2267b68fc061aea86345b3a8b87151395187 Author: Andy Grover agrover@redhat.com Date: Fri Nov 13 10:42:19 2015 -0800
target/user: Fix time calc in expired cmd processing
Reversed arguments meant that we were doing nothing for cmds whose deadline
had passed.
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
I've confirmed this commit fixed the issue, so close it.
Cool. I thought that might be the same issue but wasn't sure.
I am trying to use TCMU for a high-availability task, which involve writing a userspace daemon to provide data of an simulated local block device. But I found I can easily hang the block device generated by TCMU.
Environment: Linux v4.2-rc2, use file_handler example and tcm_loop.
Reproduce step:
It cause immediate hang for
dd
, and remove the block device(e.g.unlink /sys/kernel/config/target/loopback/naa.60014059436855c1/tpgt_1/lun/lun_0/c68d79910b
) would be hang as well.I enabled kernel debug and got this after a few minutes: