Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Feb 2004 19:10:23 +0100 (CET)
From:      Lukas Ertl <le@FreeBSD.org>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        freebsd-geom@FreeBSD.org
Subject:   Re: vinum and GEOM deadlock situation
Message-ID:  <20040203190839.Y616@korben.in.tern>
In-Reply-To: <20040203162253.GV4200@garage.freebsd.pl>
References:  <20040203164816.X616@korben.in.tern> <20040203162253.GV4200@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.org                       http://people.freebsd.org/~le/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040203190839.Y616>