[dm-devel] might_sleep warning in multipath_dtr
Christof Schmitt
christof.schmitt at de.ibm.com
Wed May 21 12:15:26 UTC 2008
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
More information about the dm-devel
mailing list