How to Fix Solaris Panics Caused by "freeing free", "ufs_putapage: bn == UFS_HOLE", or "alloccgblk: can't find blk in cyl, pos" (Doc ID 1017680.1)

Last updated on OCTOBER 04, 2017

Applies to:

OpenSolaris Operating System - Version 2008.05 and later
Solaris Operating System - Version 8.0 and later
All Platforms
***Checked for relevance on 08-Jul-2014***
Document is still relevant and appropriate, as UFS is still in use and ufs corruptions do happen.


Goal

File system corruption can lead to system panics with the following types of panic strings:

  freeing free frag
  freeing free inode
  freeing free block
or
  ufs_putapage: bn == UFS_HOLE
or
  alloccgblk: can't find blk in cyl, pos

These panic strings indicate that the system was trying to put a fragment, inode or block onto the free list but found that it was already there.  The correct response for Solaris is to stop operating with the bad data by panicking the system. 


NOTE:  The default response of panicking the system can be disabled.  See the
following document for alternative responses:

<Document 1011999.1> How to prevent panics from file system corruption



The goal of this document is to provide guidance on using fsck(1M) to resolve the panics by cleaning up the file system corruption.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms