GFS2 filesystem withdraw

Issue:

A GFS2 withdraw is occurring:

GFS2 withdraw is occuring: GFS2: fsid=MyCluster:MyGFS.0: function = get_leaf, file = fs/gfs2/dir.c, line = 763

Environment:

  • Red Hat Enterprise Linux Server 5.8 or 5.9 (with the High Availability Add on)
  • Affected kernels are between 2.6.18-274.12.1.el5 and 2.6.18-348.1.1.el5 (not including either of these kernels)
  • GFS2 filesystems
Resolution:

  • A 5.9.z stream errata has been released to resolve this issue with kernel-2.6.18-348.1.1.el5.
    • Install the newer kernel on all cluster nodes and perform a full cluster restart.
    • If filesystems withdraw again after updating the kernel, there may be dormant corruption in the filesystem from before the kernel upgrade. Run fsck.gfs2 again. The filesystem shouldn not withdraw again if fsck.gfs2 has been run after updating the kernel.
Root Cause:
  • GFS2 filesystems will withdraw when they encounter corruption to prevent additional corruption from occurring.
  • More information about this fix is available in the RHEL5.9 release notes:
    Previously, GFS2 did not properly free directory hash table memory
    from cache when the directory was removed from cache. If the same
    GFS2 inode was later reused as another directory, the stale
    directory hash table was reused instead of reading the correct
    information from the media. If the GFS2 hash table was not reused,
    a small amount of memory was lost until the next reboot.
    
    If the hash table was reused, the directory could become corrupt.
    Later, GFS2 could discover the file system inconsistency and
    withdraw from the file system, making it unavailable until the
    system was rebooted. This update applies a patch to the kernel
    that frees the directory hash table correctly from cache and
    prevents this file system corruption.
              


Back to top...

 

+ Recent posts