Date: Tue, 4 Mar 1997 17:13:49 -0500 (EST) From: Thomas David Rivers <ponds!rivers@dg-rtp.dg.com> To: ponds!root.com!dg, ponds!freefall.cdrom.com!freebsd-hackers, ponds!eclogite.eps.nagoya-u.ac.jp!kato, ponds!lambert.org!terry Subject: "dup alloc" and Re: kern/2875: vinvalbuf() clobbers b_vnbufs chain Message-ID: <199703042213.RAA26782@lakes.water.net>
next in thread | raw e-mail | index | archive | help
> > > > >Description: > > > The function vinvalbuf() in vfs_subr.c may clober b_vnbufs chain. > > in vinvalbuf(): > > s = splbio(); > for (;;) { > ... > for (bp = blist; bp; bp = nbp) { > ... > if (bp->b_flags & B_BUSY) { > ... > splx(s); <--- (1) > ... > break; <--- (2) > } > } > } > > Because disk I/O interruption is unmasked at (1), b_vnbufs is operated > without splbio() after `break' at (2). > This looks very interesting to me... does anything think it could be the cause of my "dup alloc" problems? I'm going to give it a try later this evening... - Dave Rivers -
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703042213.RAA26782>