Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Feb 2000 12:43:22 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ffs ffs_balloc.c
Message-ID:  <200002242043.MAA17349@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
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?200002242043.MAA17349>