Date: Thu, 24 Feb 2000 15:27:55 -0800 From: David Greenman <dg@root.com> To: Matt Dillon <dillon@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ffs ffs_balloc.c Message-ID: <200002242327.PAA10328@implode.root.com> In-Reply-To: Your message of "Thu, 24 Feb 2000 12:43:22 PST." <200002242043.MAA17349@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Excellent troubleshooting on this, BTW. Excellent work! -DG David Greenman Co-founder/Principal Architect, The FreeBSD Project - http://www.freebsd.org Creator of high-performance Internet servers - http://www.terasolutions.com Pave the road of life with opportunities. >dillon 2000/02/24 12:43:22 PST > > Modified files: > sys/ufs/ffs ffs_balloc.c > Log: > Fix a 'freeing free block' panic in UFS. The problem occurs when the > filesystem fills up. If the first indirect block exists and FFS is able > to allocate deeper indirect blocks, but is not able to allocate the > data block, FFS improperly unwinds the indirect blocks and leaves a > block pointer hanging to a freed block. This will cause a panic later > when the file is removed. The solution is to properly account for the > first block-pointer-to-an-indirect-block we had to create in a balloc > operation and then unwind it if a failure occurs. > > Detective work by: Ian Dowse <iedowse@maths.tcd.ie> > Reviewed by: mckusick, Ian Dowse <iedowse@maths.tcd.ie> > Approved by: jkh > > Revision Changes Path > 1.26 +25 -2 src/sys/ufs/ffs/ffs_balloc.c > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200002242327.PAA10328>