clri and the BAD STATE 0x52 TO BLKERR error in fsck

Tonight I had a server reboot that could not pass fsck on the root disk:

root> fsck -F ufs -o f -y /dev/md/rdsk/d30
** /dev/md/rdsk/d30
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
FRAGMENT 1957912 DUP I=228437 LFN 48
FRAGMENT 1957913 DUP I=228437 LFN 49
FRAGMENT 1957914 DUP I=228437 LFN 50
FRAGMENT 1957915 DUP I=228437 LFN 51
FRAGMENT 1957916 DUP I=228437 LFN 52
FRAGMENT 1957917 DUP I=228437 LFN 53
FRAGMENT 1957918 DUP I=228437 LFN 54
FRAGMENT 1957919 DUP I=228437 LFN 55
FRAGMENT 1958752 DUP I=228451 LFN 0
FRAGMENT 1958753 DUP I=228451 LFN 1
FRAGMENT 1958754 DUP I=228451 LFN 2
FRAGMENT 1958755 DUP I=228451 LFN 3
FRAGMENT 1958756 DUP I=228451 LFN 4
FRAGMENT 1958757 DUP I=228451 LFN 5
FRAGMENT 1958758 DUP I=228451 LFN 6
FRAGMENT 1958759 DUP I=228451 LFN 7
FRAGMENT 1958760 DUP I=228451 LFN 8
FRAGMENT 1958761 DUP I=228451 LFN 9
EXCESSIVE DUPLICATE FRAGMENTS I=228451
CONTINUE?  yes

** Phase 1b - Rescan For More DUPS
FRAGMENT 1957912 DUP I=228425 LFN 0
BAD STATE 0x52 TO BLKERR

The results were the same on every fsck run. Through digging in documents online I found referenc to the “clri” command.

man clri

gives the usage.

It worked!

root> clri /dev/md/rdsk/d30 228451
clearing 228451
root> fsck -F ufs -o f -y /dev/md/rdsk/d30
** /dev/md/rdsk/d30
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
FRAGMENT 1957912 DUP I=228437 LFN 48
FRAGMENT 1957913 DUP I=228437 LFN 49
FRAGMENT 1957914 DUP I=228437 LFN 50
FRAGMENT 1957915 DUP I=228437 LFN 51
FRAGMENT 1957916 DUP I=228437 LFN 52
FRAGMENT 1957917 DUP I=228437 LFN 53
FRAGMENT 1957918 DUP I=228437 LFN 54
FRAGMENT 1957919 DUP I=228437 LFN 55
** Phase 1b - Rescan For More DUPS
FRAGMENT 1957912 DUP I=228425 LFN 0
BAD STATE 0x52 TO BLKERR

root> clri /dev/md/rdsk/d30 228437
clearing 228437

root> fsck -F ufs -o f -y /dev/md/rdsk/d30
** /dev/md/rdsk/d30
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
UNALLOCATED  I=228451  OWNER=root MODE=0
SIZE=0 MTIME=Jan  1 00:00 1970
NAME=/etc/svc/repository-boot-20110906_195222

REMOVE DIRECTORY ENTRY FROM I=228663?  yes

UNALLOCATED  I=228437  OWNER=root MODE=0
SIZE=0 MTIME=Jan  1 00:00 1970
NAME=/dev/.devlink_db

REMOVE DIRECTORY ENTRY FROM I=227903?  yes

** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
UNREF FILE  I=228425  OWNER=root MODE=100644
SIZE=36581 MTIME=Jul 21 15:19 2011
RECONNECT?  yes

LINK COUNT FILE I=228425  OWNER=root MODE=100644
SIZE=36581 MTIME=Jul 21 15:19 2011  COUNT 0 SHOULD BE 1
ADJUST?  yes

** Phase 5 - Check Cylinder Groups

CORRECT BAD CG SUMMARIES?  yes

CORRECTED SUMMARY FOR CG 39
FILE BITMAP WRONG
FIX?  yes

FRAG BITMAP WRONG (CORRECTED)
CORRECTED SUMMARY FOR CG 52
FRAG BITMAP WRONG (CORRECTED)
CORRECTED SUMMARY FOR CG 66
FRAG BITMAP WRONG (CORRECTED)
CORRECT GLOBAL SUMMARY
SALVAGE?  yes

133998 files, 3967637 used, 1198465 free (208129 frags, 123792 blocks, 4.0% fragmentation)

***** FILE SYSTEM WAS MODIFIED *****


root> fsck -F ufs -o f -y /dev/md/rdsk/d30
** /dev/md/rdsk/d30
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cylinder Groups

FILE SYSTEM STATE IN SUPERBLOCK IS WRONG; FIX?  yes

133998 files, 3967637 used, 1198465 free (208129 frags, 123792 blocks, 4.0% fragmentation)

root> fsck -F ufs -y /dev/md/rdsk/d30
** /dev/md/rdsk/d30
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes

** Phase 2 - Check Pathnames
** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cylinder Groups
133998 files, 3967637 used, 1198465 free (208129 frags, 123792 blocks, 4.0% fragmentation)
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *