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>