Date: Fri, 28 Apr 2006 16:23:49 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: Kostik Belousov <kostikbel@gmail.com> Cc: freebsd-fs@FreeBSD.org Subject: Re: vn_start_write(9) recursion ? Message-ID: <20060428142349.GE864@garage.freebsd.pl> In-Reply-To: <20060428141617.GD1270@deviant.kiev.zoral.com.ua> References: <20060428120855.GB1270@deviant.kiev.zoral.com.ua> <20060428140205.GD864@garage.freebsd.pl> <20060428141617.GD1270@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Fri, Apr 28, 2006 at 05:16:17PM +0300, Kostik Belousov wrote: +> 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 without +> > +> V_NOWAIT flag). Otherwise, system may deadlock if vn_write_suspend(9) +> > +> is called between. +> > +> > Yes, you are right. Nice catch, actually. +> > +> > I hacked this patch to detect it: +> > +> > http://people.freebsd.org/~pjd/patches/vn_start_write_recursion.patch +> > +> > And it panics on boot. +> +> Incredible ! Please, commit it ! Not sure if this is good idea to abuse td_pflags for debugging purpose... But we have plenty of room in there, so maybe its worth it. I'll ask few other guys what they think about 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. This could be the hang I'm chasing, btw:) -- Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFEUiV1ForvXbEpPzQRAjyWAJ9xjLxIpOzDQUvKvu5mgqxRE23bxgCcCcVd fqu4s9HlHqarZ2T6KYBqHM8= =2Hw3 -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060428142349.GE864>
