vinum and GEOM deadlock situation

Lukas Ertl le at FreeBSD.org
Tue Feb 3 10:10:35 PST 2004


On Tue, 3 Feb 2004, Pawel Jakub Dawidek wrote:

> On Tue, Feb 03, 2004 at 04:56:23PM +0100, Lukas Ertl wrote:
> +> I'm running into a deadlock situation with the following scenario:
> +>
> +> Have a vinum RAID5 with several disks mounted, pull out one of the disks,
> +> shortly thereafter all I/O hangs.
> +>
> +> I managed to identify the deadlock, but couldn't come up with a fix yet.
> +>
> +> Let's see.  Here's the backtrace of the vinum process:
> [...]
>
> Yes, the deadlock is obvious.
> [...]
> The problem here is, that dp->d_close() is called with the topology lock
> and d_close() is calling disk_destroy() and there topology lock should
> not be holded.

I also think that the only place where we can drop and re-grab the
topology lock is around the dp->d_close() call, but I'm not sure if there
are any side effects.

I'm gonna try it tomorrow.

regards,
le

-- 
Lukas Ertl                           http://mailbox.univie.ac.at/~le/
le at FreeBSD.org                       http://people.freebsd.org/~le/


More information about the freebsd-geom mailing list