On Wed, May 07, 2008 at 02:28:20PM +0100, Alasdair G Kergon wrote: > On Wed, May 07, 2008 at 10:37:16AM +0200, Christof Schmitt wrote: > > <4> [<000003e00008f79c>] multipath_dtr+0x38/0x50 [dm_multipath] > > <4> [<000003e000077e4a>] dm_table_put+0xae/0x134 [dm_mod] > > <4> [<000003e000076020>] dm_any_congested+0x50/0x88 [dm_mod] > > > I don't know, if this exact situation is reproducible, but we have a > > memory dump that should have some more data. > > Well I'm guessing dm_any_congested() ran alongside a table reload, such > that dm_any_congested() was still referencing the old table after > dm_swap_table() removed it. > > IOW There needs to be better synchronisation between those two > functions. I had a look at the code, but i don't have enough knowledge about the device-mapper and the block layer to understand what is happening here. dm_swap_table is probably triggered by multipathd, but i don't know about the congestion mechanism. Do you have an idea how to continue with this problem? Christof -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel