Date: Wed, 23 Feb 2000 18:28:55 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Ian Dowse <iedowse@maths.tcd.ie> Cc: freebsd-current@freebsd.org Subject: Re: ffs_blkfree: freeing free block (was Re: Panic (pmap)) Message-ID: <200002240228.SAA33327@apollo.backplane.com> References: <200002240148.aa34053@salmon.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
: :In message <200002232235.aa22335@salmon.maths.tcd.ie>, Ian Dowse writes: :> :>The fix should be relatively straightforward - either the code should :>avoid linking new indirection blocks until all allocations succeed, :>or it should back out the changes on failure. : :Here's one patch that seems to fix the problem. It may not be the best :approach though? : :Ian I thought of this but I was worried that the softupdates blackmagic would get broken by it, so my approach is to actually unwind it which, between inbetween to FSYNC's, should be softupdates-safe. -Matt : bap[indirs[i - 1].in_off] = nb; :+ if (allocib == NULL) { :+ /* :+ * Writing bp would link in the newly allocated :+ * blocks; hold off in case of allocation failure :+ * later. :+ */ :+ allocib = &bap[indirs[i - 1].in_off]; :+ allocbp = bp; :+ continue; :+ } :... To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200002240228.SAA33327>