Bug 12277
Summary: | NBD: deadlock in kernel 2.6.27.7 not present in 2.6.25.18 | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Jon Nelson (jnelson-kernel-bugzilla) |
Component: | Block Layer | Assignee: | Pavel Machek (pavel) |
Status: | CLOSED OBSOLETE | ||
Severity: | normal | CC: | alan, devzero, pavel |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.27.7 | Subsystem: | |
Regression: | Yes | Bisected commit-id: |
Description
Jon Nelson
2008-12-22 18:09:31 UTC
Basically, any I/O that is taking place prior to the the disconnect operation (nbd-client -d /dev/nbd0) gets hung and does not return an error as in prior versions. The following is an strace taken from a machine running 2.6.25.18, executing the 'dd if=/dev/nbd0 of=/dev/null' command. The server was rebooted with 'reboot -fn' very shortly before this portion of the strace: 07:57:56.568319 write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 <0.000180> 07:57:56.568648 read(0, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 <0.000185> 07:57:56.568986 write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 <0.000144> 07:57:56.569268 read(0, ^^^ this is where it hangs. This is expected. 0x8059000, 512) = -1 EIO (Input/output error) <161.315346> ^^ it hung for approx. 161 seconds. I was expecting something more like 30 seconds (I used timeout=30 in the setup command) but 161 seconds is better than "forever" ;-) 08:00:37.884925 open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000044> 08:00:37.885143 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000034> 08:00:37.885292 open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000034> 08:00:37.885440 open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000032> It should also be noted that I also file a novell bug here: https://bugzilla.novell.com/show_bug.cgi?id=462269 hello jon, shouldn`t we mark this as a regression? I'm inclined to say "yes". ...can you try to git bisect it? Do you see "killing hung xmit" message in dmesg? I do not, but I can try again. I don't have logs that go back that far. I assume that I would see that in /var/log/messages, no? Yes, it should be in messages. Trying latest -mm driver would be nice. Pavel, Jon, check novell bugzilla -- I've made some updates. I attached a patch, which I think will fix this. |