IBM Support

Errors accessing directories created since upgrading old GPFS file systems to use the new features of the V4.1 release have been reported

Flashes (Alerts)


Abstract

GPFS Product Support has received reports of errors accessing directories created since upgrading old GPFS file systems to use the new features of the V4.1 release. The issue is confined to the rmdir and readdir directory access paths on GPFS file systems originally created at the 3.1, or earlier, levels.

Content


Problem summary:

The DirV2 feature of GPFS V4.1 does not work correctly on file systems created prior to V3.2 (original format version less than 1000). Those early file systems use a different file name folding function (foldName) that does not support case-insensitive lookup for Windows (the key feature in V3.2, for these purposes), and DirV2 changes to hashing names within directory blocks does not handle this older foldName correctly. The two main effects of this problem are problems finding the ".." entry and properly sequencing readdir cookies. This leads to rmdir failing with EEXIST even when the direct is empty. It also causes directory enumeration with readdir (getdents) to repeat or skip entries and even to loop, repeatedly returning the same batch of names indefinitely. These problems only occur after updating the file system to V4.1 and only for directories created since the upgrade (i.e., only DirV2 directories).

Users affected:

The only directories affected are those newly created or compacted since upgrading a file system created with the mmcrfs command prior to GPFS V3.2 to support the V4.1 features:

1. Old file systems: those created by GPFS V3.1 or earlier.

mmlsfs file system name -V reports **Original** version before 10.00 (3.2.0.0)

2. Your system was upgraded to fully support the V4.1 features:

  • Install v4.1 code on all nodes in your cluster
  • Upgrade the cluster with the mmchconfig release=LATEST command
  • Upgrade the file system with the mmchfs file system name -V full command

3. Only newly created directories are at risk unless pre-existing directories were explicitly individually upgraded by the mmchattr --compact /gpfs/path/to/dir command

For example, this file system is at risk.

# mmlsfs pk1 -V

flag value description
------------------- ------------------------ -----------------------------------
-V 14.10 (4.1.0.4) Current file system version
9.03 (3.1.0.0) Original file system version

Here is a script that can be used to automate the assessment.

# perl -e '$sg=shift or die "need SG name"; @l= `mmlsfs $sg -VY`; for (@l) {' \
-e '$o=$1 if /Original:([\d.]+)/;$v=$1 if /Version:([\d.]+)/;}' \
-e '$bad = $o < 10.00 && $v >= 14.00 ? "**BAD**" : "";' \
-e '$m="$o/$v ".($bad || "okay")."\n";die($m) if $bad;print $m' pk1
9.03/14.10 **BAD**
# echo $?
255

Required actions:

Move to GPFS V4.1.0.8 where this problem is resolved, or contact IBM Service referencing APAR IV71419 for an efix for your level of GPFS.

[{"Product":{"code":"SSFKCN","label":"General Parallel File System"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"","label":"System x"},{"code":"PF033","label":"Windows"}],"Version":"3.5.0;3.4.0;3.3.0;3.2.1;3.1.0","Edition":"","Line of Business":{"code":"LOB26","label":"Storage"}}]

Document Information

Modified date:
25 September 2022

UID

isg3T1022368