Re: 2.4 TODO addition (loopback fs deadlocks)

From: Steve Dodd (steved@loth.demon.co.uk)
Date: Thu Mar 23 2000 - 04:23:20 EST


On Wed, Mar 22, 2000 at 01:21:56PM -0800, Blu3Viper wrote:

> sgi kdb print:
>
> pid #4, 12e993, in wait_on_buffer, [kupdate]
>
> 0xcbf5ddec 0xc0114b92 schedule+0x25a( 0x3ff, 0xc13dfcc0, 0x103f, 0xcbf5c000, 0x1234567)
> 0xcbf5de34 0xc012e993 __wait_on_buffer+0x17b( 0xc3e58c80)
> 0xcbf5de60 0xc1046633 block_getblk+0x57( 0xc13dfcc0, 0xc3e58c80, 0x33, 0x103f, 0xcbf5deac)
> 0xcbf5df00 0xc013030f __block_prepare_write+0xeb( 0xc13dfcc0, 0xc1119060, 0x00, 0x400, 0xc0146908)
> 0xcbf5df24 0xc0130961 block_prepare_write+0x21( 0xc1119060, 0x0, 0x400, 0xc0146908)
> 0xcbf5df3c 0xc0146f59 ext2_prepare_write+0x19( 0xc1119060, 0x0, 0x400)
> 0xcbf5df74 0xc01a36c6 lo_send+0xaa( 0xc137a800, 0xc3e25800, 0x400, 0x103f00, 0x0)
> 0xcbf5dfb8 0xc01a3ba9 do_lo_request+0x2c1( 0xc0354624)
> 0xcbf5dfc8 0xc01a25f6 generic_unplug_device+0x1e( 0xc0354624)
> 0xcbf5dfd8 0xc013185e sync_old_buffers+0x62( )
> 0xcbf5dfec 0xc0131a8d kupdate+0xcd( 0x0, 0x78, 0xc02b5fd0, 0x1, 0x40)
> 0xcbfedfa8 0xc0108c34 kernel_thread+0x28)
> 0xcbc5a6a4 0xcbc5a6a8 kernel_thread+0xbb51a9c)

Errrm, call me stupid, but doesn't generic_unplug_device grab the
io_request_lock? Which will still be held when ext2's block_getblk sleeps..
Doesn't sound good to me.

-- 
"It is easier for a camel to pass through the eye of a needle if it
 is lightly greased."     -- Kehlog Albran, "The Profit" 

- 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 : Thu Mar 23 2000 - 21:00:38 EST