Date: Fri, 28 Apr 2006 17:16:17 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: freebsd-fs@FreeBSD.org Subject: Re: vn_start_write(9) recursion ? Message-ID: <20060428141617.GD1270@deviant.kiev.zoral.com.ua> In-Reply-To: <20060428140205.GD864@garage.freebsd.pl> References: <20060428120855.GB1270@deviant.kiev.zoral.com.ua> <20060428140205.GD864@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
--lMM8JwqTlfDpEaS6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Apr 28, 2006 at 04:02:05PM +0200, Pawel Jakub Dawidek wrote: > On Fri, Apr 28, 2006 at 03:08:55PM +0300, Kostik Belousov wrote: > +> vn_start_write(9) shall not be called recursively (at least, not witho= ut > +> V_NOWAIT flag). Otherwise, system may deadlock if vn_write_suspend(9) > +> is called between. >=20 > Yes, you are right. Nice catch, actually. >=20 > I hacked this patch to detect it: >=20 > http://people.freebsd.org/~pjd/patches/vn_start_write_recursion.patch >=20 > And it panics on boot. Incredible ! Please, commit it ! This would save me at least a day starring at struct mount with mnt_writeopcount and (still) no writers. For instance, such situation occurs in quotactl/quotaoff case. --lMM8JwqTlfDpEaS6 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEUiOwC3+MBN1Mb4gRAofgAJ0RQhUZXXCpeTtDRRYBb8Ns1LHonACcClsv Tl4ySvRSgtKG6r//UtZhyxg= =uRKi -----END PGP SIGNATURE----- --lMM8JwqTlfDpEaS6--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060428141617.GD1270>