loopback blockdev deadlocks (was Re: PROBLEM: ls gets stuck in D state on 2.3.99pre4-5)

From: Steve Dodd (steved@loth.demon.co.uk)
Date: Tue Apr 11 2000 - 13:17:23 EST


[I've cc'd sct@redhat.com in the hope that he might know the solution to this
one]

On Tue, Apr 11, 2000 at 06:19:37PM +0200, Mike Galbraith wrote:
> On Tue, 11 Apr 2000, Mircea Damian wrote:

> > I have the same behaviour with iso images mounted on loopback since some
> > time ago. I thought it was just my problem. At first it stucked when I
> > tried to mount it. Now it mounts fine but I can't access anything there.
[..]

> I wasted some time looking into this. If the file is in cache, it
> seems to work ~ok. I can reproduce a lock simply by doing losetup
> /dev/loop0 ext2image; fsck -f /dev/loop0 after fresh boot.

Yes, same here. I've tried to figure it out by inspection, and not come up
with anything, so can we try to reduce the variables? Which kernel version
did people first see this in, and what block device is ultimately underlying
the loopback backing store? I'm using an ide disk, with dma enabled.

> The kdb trace.. (screen of box about to do XXXth 20gig fsck:)
> schedule+0x274
> ___wait_on_page+0x183
> lock_page+x1c
> do_generic_file_read+0x210
> lo_receive+0x57
> do_lo_request+0x2e6
> generic_unplug_device+0x28
> block_read+0x4de
> sys_read+0xcc
> system_call

AFAICT, the I/O to the underlying device is never happening (or if it is,
the state isn't being propagated to the buffers / pages). I've no idea why
not.

-- 
A neutron walks into a bar. "I'd like a beer" he says.
The bartender promptly serves up a beer.
"How much will that be?" asks the neutron.
"For you?" replies the bartender, "no charge"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:16 EST