Unable to remove a checkpoint using fsckptadm when a checkpoint is orphaned after removal during 100% full file-system (ENOSPC) condition

book

Article ID: 100007839

calendar_today

Updated On:

Description

Error Message

bash-2.05# echo listfset | /opt/VRTS/bin/fsdb /dev/vx/rdsk/vvrdg/testvol
fset index      fset name
      1         ATTRIBUTE
    999         UNNAMED
   1000         ""                   <===orphaned checkpoint
   1001         ""                   <===orphaned checkpoint

Cause

This situation can arise when filesystem with enabled checkpoints reaches a 100% full-filesystem (ENOSPC) condition.

Resolution

To recover from this situation of unable to remove orphaned checkpoints from a VxFS file system we can follow the two steps below:

 

  1. umount the file-system
  2. run the fsck command with the zapckpt option to remove 'ALL' checkpoints

 

EXAMPLE

bash-2.05# fsckptadm create test_chkpt /test

>>simulate orphaned checkpoint<<

bash-2.05# echo listfset | /opt/VRTS/bin/fsdb /dev/vx/rdsk/vvrdg/testvol
fset index      fset name
      1         ATTRIBUTE
    999         UNNAMED
   1000         ""
   1001        ""
 


bash-2.05# umount /test


bash-2.05# fsck -F vxfs -o zapckpt -y /dev/vx/rdsk/vvrdg/testvol
log replay in progress
fset: 999 points to an orphaned storage checkpoint fset, fix? (ynq)y
pass0 - checking structural files
fileset 1 primary-ilist inode 74 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 75 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 76 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 77 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 78 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 79 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 80 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 81 unreferenced structural inode clear? (ynq)y
fileset 1 primary-ilist inode 82 unreferenced structural inode clear? (ynq)y
pass1 - checking inode sanity and blocks
rebuild structural files? (ynq)y
pass0 - checking structural files
pass1 - checking inode sanity and blocks
pass2 - checking directory linkage
pass3 - checking reference counts
pass4 - checking resource maps
fileset 1 au 0 imap incorrect - fix (ynq)y
corrupted CUT entries, clear? (ynq)y
au 0 emap incorrect - fix? (ynq)y
au 0 summary incorrect - fix? (ynq)y
fileset 1 iau 0 summary incorrect - fix? (ynq)y
free block count incorrect 509414 expected 509442 fix? (ynq)y
free extent vector incorrect fix? (ynq)y
OK to clear log? (ynq)y
flush fileset headers? (ynq)y
set state to CLEAN? (ynq)y


bash-2.05# echo listfset | /opt/VRTS/bin/fsdb /dev/vx/rdsk/vvrdg/testvol
fset index      fset name
      1         ATTRIBUTE
    999         UNNAMED

 


Please Note:  Using the fsck command with the 'zapckpt' option is a workaround to fix the filesystem by removing ALL the checkpoints from the filesystem and should be used only if fsckptadm command is unable to remove the checkpoints. It is not recommended to perform this operation to remove normal checkpoints. Also, please note that using the above command, all associated checkpoints to the filesystem will be removed causing all the data stored in the checkpoints to be lost. Hence, make sure that you have a valid backup of the data in the checkpoints before removing them. There is no option available to remove only a single checkpoint using the 'zapckpt' option of the 'fsck' command. 


Applies To

VxFS file system using storage checkpoints

Issue/Introduction

Sometimes when using the fsckptadm remove command to remove a check-point the check-point can become orphaned and left with no-name. At this point the fsckptadm command will fail to remove the checkpoint and ultimately it will unable to free up the space used by the orphaned checkpoint.