Date: Wed, 14 May 2003 22:18:35 +0930 From: Greg 'groggy' Lehey <grog@FreeBSD.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/geom geom_disk.c Message-ID: <20030514124835.GE4390@wantadilla.lemis.com> In-Reply-To: <30440.1052912279@critter.freebsd.dk> References: <20030514081041.GD4390@wantadilla.lemis.com> <30440.1052912279@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
--h56sxpGKRmy85csR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wednesday, 14 May 2003 at 13:37:59 +0200, Poul-Henning Kamp wrote: > In message <20030514081041.GD4390@wantadilla.lemis.com>, "Greg 'groggy' Lehey" > writes: > >> malloc() of "16" with the following non-sleepablelocks held: >> exclusive sleep mutex g_xup r = 0 (0xc8612ca8) locked @ /src/FreeBSD/5-CURRENT-ZAPHOD/src/sys/geom/geom_io.c:363 > > This is a problem, you cannot sleep in the primary I/O path (ie: strategy() > and done()), if you sleep in the I/O path, you stop all I/O processing > and if the system needs to page something out to make the ram available > to you, you have a deadlock. I wasn't sleeping. This happened elsewhere as the result of a drive going away. I had expected that the panic stack trace would point me at it, but it didn't. I'll investigate further when I've fixed the current panic. >> panic: final g_dev_close() with outstanding bios > > This means that close was called before all the I/O requests had > been delivered, this is not allowed. Correct. > You have to stop sending I/Os, wait for the ones you have sent to > come back, then you can close. They won't complete if the drive has gone away. I had this solved before with a call to vinvalbuf(), but the new code is calling the hardware drivers ) directly rather than the vnode operations. This sounds like a mistake to me, unless you can see a good reason for it. Greg -- See complete headers for address and phone numbers --h56sxpGKRmy85csR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQE+wjsjIubykFB6QiMRAl+fAJ9V7DTiHvEqMTKhtFA65M5y2dX5QQCeORzv 42YDh1/i4tIq722O66ycU5o= =lm7h -----END PGP SIGNATURE----- --h56sxpGKRmy85csR--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030514124835.GE4390>