IBM Support

Readme and Release notes for release 3.4.0.5 (GPFS) General Parallel File System 3.4.0.5 GPFS-3.4.0.5-power-Linux Readme

Fix Readme


Abstract

xxx

Content

Readme file for: GPFS Readme header
Product/Component Release: 3.4.0.5
Update Name: GPFS-3.4.0.5-power-Linux
Fix ID: GPFS-3.4.0.5-power-Linux
Publication Date: 11 April 2011
Last modified date: 11 April 2011

Installation information

Download location

Below is a list of components, platforms, and file names that apply to this Readme file.

Fix Download for Linux

Product/Component Name: Platform: Fix:
(GPFS) General Parallel File System Linux 64-bit,pSeries RHEL
Linux 64-bit,pSeries SLES
GPFS-3.4.0.5-power-Linux

Prerequisites and co-requisites

None

Known issues

  • - Problem discovered in earlier GPFS releases

    During internal testing, a rare but potentially serious problem has been discovered in GPFS. Under certain conditions, a read from a cached block in the GPFS pagepool may return incorrect data which is not detected by GPFS. The issue is corrected in GPFS 3.3.0.5 (APAR IZ70396) and GPFS 3.2.1.19 (APAR IZ72671). All prior versions of GPFS are affected.

    The issue has been discovered during internal testing, where an MPI-IO application was employed to generate a synthetic workload. IBM is not aware of any occurrences of this issue in customer environments or under any other circumstances. Since the issue is specific to accessing cached data, it does not affect applications using DirectIO (the IO mechanism that bypasses file system cache, used primarily by databases, such as DB2® or Oracle).

    This issue is limited to the following conditions:

    1. The workload consists of a mixture of writes and reads, to file offsets that do not fall on the GPFS file system block boundaries;
    2. The IO pattern is a mixture of sequential and random accesses to the same set of blocks, with the random accesses occurring on offsets not aligned on the file system block boundaries; and
    3. The active set of data blocks is small enough to fit entirely in the GPFS pagepool.

    The issue is caused by a race between an application IO thread doing a read from a partially filled block (such a block may be created by an earlier write to an odd offset within the block), and a GPFS prefetch thread trying to convert the same block into a fully filled one, by reading in the missing data, in anticipation of a future full-block read. Due to insufficient synchronization between the two threads, the application reader thread may read data that had been partially overwritten with the content found at a different offset within the same block. The issue is transient in nature: the next read from the same location will return correct data. The issue is limited to a single node; other nodes reading from the same file would be unaffected.


  • - SLES 10 for POWER
    • /etc/init.d/running-kernel that ships with pre SLES10 SP1 kernel-source rpms contains a bug that results in the wrong set of files being copied to the kernel source tree. This bug will be fixed with SLES10 SP1. If the official fix is unavailable, the following change should also address the problem:

      --- running-kernel.orig 2006-10-06 14:54:36.000000000 -0500
      +++ /etc/init.d/running-kernel 2006-10-06 14:59:58.000000000 -0500
      @@ -53,6 +53,7 @@
      arm*|sa110) arch=arm ;;
      s390x) arch=s390 ;;
      parisc64) arch=parisc ;;
      + ppc64) arch=powerpc ;;
      esac
    • The gpfs.base 3.4.0-0 rpm must be installed using the rpm --nopre flag BEFORE any updates can be applied.


    • The GPFS required level of Korn Shell for SLES 10 support is version ksh-93r-12.16 and can be obtained at the following architecture-specific link.

Installation information

  • - Installing a GPFS update for Linux on Power Systems

    Follow the steps below to install the fix package:

    1. Unzip and extract the update package (< filename >.tar.gz file) with one of the following commands:

      gzip -d -c < filename >.tar.gz | tar -xvf -

      or

      tar -xzvf < filename >.tar.gz


    2. Verify the udpate's RPM images in the directory. Normally, the list of RPM images in this directory would be similar to one of the following:

      GPFS update
      gpfs.base.< update_version >.< OS >.ppc64.update.rpm
      gpfs.docs.< update_version >.noarch.rpm
      gpfs.gpl.< update_version >.noarch.rpm
      gpfs.msg.en_US.< update_version >.noarch.rpm


      GPFS update with GPL licensed kernel module
      gpfs.base.< update_version >.< OS >.ppc64.update.rpm
      gpfs.docs.< update_version >.noarch.rpm
      gpfs.gpl.< update_version >.noarch.gpl.rpm
      gpfs.msg.en_US.< update_version >.noarch.rpm


      where
      < update_version >
      specifies the version number of the update you downloaded, for example, 3.1.0-7 .

      < OS >
      specifies the Linux operating system, for example, sles8 (SUSE Linux Enterprise
      Server 8) or sles9 (used for both SUSE Linux Enterprise Server 9 and Red Hat Enterprise Linux 4).

      For specific filenames, check the Readme for the GPFS update by clicking the "View" link for the update on the Download tab.

    3. Follow the installation and migration instructions in your GPFS Concepts, Planning and Installation Guide.
  • - Upgrading GPFS nodes

    In the below instructions, node-by-node upgrade cannot be used to migrate from GPFS 3.2 to later releases. For example, upgrading from 3.2.x.x to 3.4.y.y requires complete cluster shutdown, upgrade install on all nodes and then cluster startup.

    Upgrading GPFS may be accomplished by either upgrading one node in the cluster at a time or by upgrading all nodes in the cluster at once. When upgrading GPFS one node at a time, the below steps are performed on each node in the cluster in a sequential manner. When upgrading the entire cluster at once, GPFS must be shutdown on all nodes in the cluster prior to upgrading.

    When upgrading nodes one at a time, you may need to plan the order of nodes to upgrade. Verify that stopping each particular machine does not cause quorum to be lost or that an NSD server might be the last server for some disks. Upgrade the quorum and manager nodes first. When upgrading the quorum nodes, upgrade the cluster manager last to avoid unnecessary cluster failover and election of new cluster managers.

    1. Prior to upgrading GPFS on a node, all applications that depend on GPFS (e.g. Oracle) must be stopped. Any GPFS file systems that are NFS exported must be unexported prior to unmounting GPFS file systems. If tracing was turned on, then tracing must be turned off before shutting down GPFS as well.
       
    2. Stop GPFS on the node. Verify that the GPFS daemon has terminated and that the kernel extensions have been unloaded (mmfsenv -u ). If the command mmfsenv -u reports that it cannot unload the kernel extensions because they are "busy", then the install can proceed, but the node must be rebooted after the install. By "busy" this means that some process has a "current directory" in some GPFS filesystem directory or has an open file descriptor. The freeware program lsof can identify the process and the process can then be killed. Retry mmfsenv -u and if that succeeds then a reboot of the node can be avoided.


    3. Upgrade GPFS using the RPM command as follows:

      GPFS update
      rpm -U gpfs.base-< update_version >.< OS >.ppc64.update.rpm
      rpm -U gpfs.docs-< update_version >.noarch.rpm
      rpm -U gpfs.gpl-< update_version >.noarch.rpm
      rpm -U gpfs.msg.en_US-< update_version >.noarch.rpm


      GPFS update with GPL licensed kernel module
      rpm -U gpfs.base-< update_version >.< OS >.ppc64.update.rpm
      rpm -U gpfs.docs-< update_version >.noarch.rpm
      rpm -U gpfs.gpl-< update_version >.noarch.gpl.rpm
      rpm -U gpfs.msg.en_US-< update_version >.noarch.rpm


    4. Check the GPFS FAQ to see if any additional images or patches are required for your Linux installation:

      General Parallel File System FAQs (GPFS FAQs)
       
    5. Recompile any GPFS portability layer modules you may have previously compiled. The recompilation and installation procedure is outlined in the following file:

      /usr/lpp/mmfs/src/README

Additional information

  • - Notices

    [January 24, 2011]

    A fix introduced in GPFS 3.3.0-11 and in GPFS 3.4.0-3 changed the returned buffer size for file attributes to include additional available information, affecting the TSM incremental backup process due to the selection criteria used by TSM. As a result of this buffer size change, TSM incremental backup will treat all previously backed up files as modified, causing the dsmc incremental backup process to initiate new backups of all previously backed up files. If the file system being backed up is HSM managed, this new backup can result in recall of all files which have been previously backed up. This effect is limited to files backed up using TSM incremental backup; there are no known effects on files backed up using either GPFS mmbackup or the TSM selective backup process.

    This issue is resolved in GPFS 3.3.0-12 (APAR IZ92779) and GPFS 3.4.0-4 (APAR IZ90535). Customers using the TSM Backup/Archive client to do incremental backup (via dsmc incremental command) should not apply GPFS 3.3.0-11 or GPFS 3.4.0-3, but should wait to apply GPFS 3.3.0-12 or GPFS 3.4.0-4. Any customer using TSM incremental backup and needing fixes in GPFS 3.3.0-11 or 3.4.0-3 should apply an ifix containing the corresponding APAR before executing dsmc incremental backup using these PTF levels, to avoid the additional file backup overhead, and (in the case of HSM-managed file systems) the potential for large scale recalls caused by the backup. Please contact IBM service to obtain the ifix, or to discuss your individual situation.

    [October 26, 2010]

    The restriction below is no longer in effect. GPFS file systems with file system format version less than 9.00 as reported by mmlsfs (V2.3 and older) can now be mounted on a GPFS V3.4 cluster safely.

    [July 30, 2010]

    Restrictions: File systems that currently have file system format version less than 9.00, as reported by mmlsfs (this format version corresponds to GPFS V2.3 and older) cannot be mounted on a GPFS V3.4 cluster. This restriction will be lifted in a future GPFS update.

    [April 1, 2010]

    During internal testing, a rare but potentially serious problem has been discovered in GPFS. Under certain conditions, a read from a cached block in the GPFS pagepool may return incorrect data which is not detected by GPFS. The issue is corrected in GPFS 3.3.0.5 (APAR IZ70396) and GPFS 3.2.1.19 (APAR IZ72671). All prior versions of GPFS are affected.

    Click here for details.

    [March 31, 2010]

    Support for SLES 10 kernel beyond 2.6.16.60-0.58.1 has changed. GPFS 3.3 requires GPFS 3.3.0-5 and GPFS 3.2 requires 3.2.1-18.

    [December 17, 2009]

    Support for GPFS 3.1 has only been extended for AIX and Linux on POWER systems. Service updates will be made available for other Linux platforms, but support is not being extended.

    [November 9, 2009]

    GPFS 3.3.0-1 does not correctly operate with file systems created with GPFS V2.2 (or older). Such file systems can be identified by running "mmlsfs all -u": if "no" is shown for any file system, this file system uses the old format, and the use of GPFS 3.3.0-1 is not possible. GPFS 3.3.0-2 corrects this issue.

    [November 7, 2008]

    GPFS 3.2.1.7 contained a change that impacts TSM HSM recall process of files with stub size >0 causing hangs during recalls. To avoid this problem, the configuration parameter dmapiDataEventRetry has to be set to 'no' via command 'mmchconfig dmapiDataEventRetry=no -i '.

    [September 11, 2008]

    The 3.2.1-5 maintenance level had a data integrity problem using the mmap feature to write or update files on Linux and AIX. The 3.2.1-6 maintenance level is the recommended upgrade path from versions 3.2.0-0 through 3.2.1-4.

  • - Package information

    The update images listed below and contained in the tar image with this README are maintenance packages for GPFS. The update images are a mix of standard RPM images that can be directly applied to your system.

    The update images require a prior level of GPFS. Thus, the usefulness of this update is limited to installations that already have the GPFS product. Contact your IBM representative if you desire to purchase a fully installable product that does not require a prior level of GPFS.

    After all RPMs are installed, you have successfully updated your GPFS product.

    Update to Version:

    3.4.0-5

    Update from Version:

    3.4.0-0 through 3.4.0-4

    Update (tar file) contents:

    README
    changelog
    gpfs.base-3.4.0-5.sles.ppc64.update.rpm
    gpfs.docs-3.4.0-5.noarch.rpm
    gpfs.gpl-3.4.0-5.noarch.rpm
    gpfs.msg.en_US-3.4.0-5.noarch.rpm

  • - Changelog for GPFS 3.4.x

    Unless specifically noted otherwise, this history of problems fixed for GPFS 3.4.x applies for all supported platforms.

    Problems fixed in GPFS 3.4.0.5 [April 07, 2011]

    • Avoid showing 'unknown' version in mmfslog.
    • Fix assignment causing unaligned access warning in Linux for IA64.
    • Fix logging recovery when data replication is enabled and metadata replication is not, or following a node failure.
    • Stop internal mount for lsquota command.
    • Change "mmwindisk initialize" to create the GPFS data partition with a 16MB alignment.
    • Allow a node which cannot externally mount a file system, due to page size restrictions, to still serve as file system manager.
    • Fix immutability flags being lost after a file is restored from TSM restore program.
    • Fix Signal 8 (divide by zero) error when processing a deleted inode for prefetch.
    • Write new filesystem device name to all disks to avoid the unwanted warning messages.
    • Added a post-install script in GPFS for Windows that runs "mmautoload postinstall".
    • Create gpfs init lock file on system startup. This ensures GPFS shutdown will be called during system shutdown on RHEL distributions.
    • Fix fileset metadata files with inode numbers outside the reserved range being handled as orphans.
    • Fix file system stopping with an assert on structure error related to an invalid number of disk pointers stored in the inode.
    • Fix quota file block expansion code resulting in an 'oldDiskAddrP == NULL' assert.
    • Allow user space attributes to be set by user commands.
    • Fix an inodeScan interface clean up error that could cause long waiters during unmount.
    • Fix panic in cxiStartIO when disk device drivers are configured for 1024 scatter gather lists.
    • Fix mmbackup failing to backup file with "NONE" in pathname.
    • Fix a fcntl retry message arriving and being processed before the original gpfs_v_lockctl operation completes. This could have resulted in the lock operation referencing the sleepElement after the message handler had freed it.
    • Rework the handling of options for mmapplypolicy to accept blank characters arguments.
    • Fix mmdeldisk allowing deleting a disk without moving existing data off the disk first. This would only have occured on file systems with metadata replication enabled (-m 2), strict allocation enforced (-K always; the default is "whenpossible"), when running mmdeldisk shortly after creating a new snapshot, and if the only disks remaining are in a single failure group.
    • Performance improvements to mmdelsnapshot.
    • Disallow the colon character in a filename during create/open from Windows. The Unix nodes can still create filename that have a colon. Such files can be accessed on Windows using their 8.3 names.
    • Fix excessive acquires on TcpConnTab mutex. Every five seconds, every receiver threads checks for broken connection timeout, when only one is needed.
    • Fix an bug in the log recovery code that was forcing a filesystem panic while offline fsck is in progress.
    • dump functions now dump regionsPerPass for each storage pool.
    • Fix fsck code so that it is able to recover data from a filesystem with a fatal root inode which is a candidate for delete.
    • Fix problem where mmdf would not allow specifying more than one of the -d, -m and -F options.
    • Fix when using EXTERNAL POOL EXEC 'script' rules with an external storage manager that supports "premigration", such as TSM/HSM, mmapplypolicy mistakenly invoked the rules' EXEC 'script' with the subcommand MIGRATE instead of PREMIGRATE for files that should be pre-migrated.
    • Fix for a bug where small synchronous writes to a block pre-allocated usinggpfs_prealloc may be lost.
    • Fix isStoragePoolIndexValid(poolIndex) asserts after a storage pool has been deleted.
    • This update addresses the following APARs: IZ94724 IZ95818 IZ95819 IZ95821 IZ95855 IZ96323 IZ96325.

    Problems fixed in GPFS 3.4.0.4 [February 17, 2011]

    • Update mmtracectl to have --format and --noformat flags which allow one greater control over whether to format traces.
    • Fix rare race between flushBuffer and mergeInode updating lastDataBlock.
    • Fix a problem when RDMA connecting between two clusters where the IB networks are not connected.
    • Fix an assertion at daemon startup on 32 bit linux nodes when prefetchThreads and worker1Threads configuration variables are set too high.
    • Fix a bug in mmchdisk caused by premature loop exiting if a metadta disk and a data disk are found.
    • Add a make parameter "LINUX_DISTRIBUTION" for non-standard Linux distributions. e.g. make LINUX_DISTRIBUTION=REDHAT_AS_LINUX Autoconfig.
    • Fix race between nfsWatchdog and delsnapshot.
    • Fix the allocation code which caused an assert on filesystem manager node after encounter I/O error.
    • Fix code in displaying of cmd "mmlsfileset dev -L -p". Let this command show all the fileset status.
    • Fix a bug in mmwindisk utility (called from mmdevdiscover, for instance) that could cause the program to fail when the Windows node has certain uncommon storage devices attached.
    • Fix cxiIsNFSLock erroneously returning FALSE for NFSv4 lockctl calls.
    • Detect and skip the continuously repeated lines (from pgalloc), enable the MaxLoopCheck_dumpBufQueue and set it's default value to be 2, so it will not impact performance greatly.
    • Fix allocation code causing delete disk to fail when deleting last disk of a failure group.
    • Fix copyInodeBlock to not try to copy data block if it is EOF.
    • Fix Windows code to handle, or enable access on, all Unix filesystem object such as a block device, fifo, socket, symlinks. All such objects will be listed as 0 byte files on Windows. No other operation such as read/write/delete/modify will be allowed from Windows.
    • Fix code which caused long waiters and daemon shutdown on leaseloss.
    • Fix sublock to disk sector conversion routines handling invalid disk addresses. This is done by returning E_INVAL back to the caller during fsck scan.
    • Fix a race condition which can cause daemon shutdown when adding/deleting disk from the file system and when the inode prefetch thread is hitting a tiny time window.
    • Improve performance of file system metadata scan phases of mmrestripefs.
    • Add gpfs_set_times() and gpfs_set_times_path() API.
    • Avoid assert when a snapshot is created immediately after deleting a large file.
    • Fix subblock size not keeping consistency among the cluster.
    • Fix mmrestripefs or mmdeldisk command, after being killed, background activity continueing for a significant time.
    • Fix code which could cause daemon assert and segmentation fault during filesystem takeover.
    • Include mount event disposition in dm_get_disp() call.
    • Fix invalid assert in fcntl lock token relinquish path.
    • Fix lost quota code when calling tslsquota -j with fully qualified device name specified.
    • Prevent GPFS from starting while certain admin commands are running.
    • Fix assertion in mmcheckquota when it encounters quota entries with invalid fileset ids.
    • GPFS for Windows now disables SMB2 on the node during installation.
    • Fix unnecessary work during mmrestripefs and mmdeldisk commands.
    • Fix quorum formation when the /var/mmfs/gen/BallotFile file is too small.
    • Fix a longwaiter problem caused by and infinite loop in mmdefragfs.
    • Fix kernel assert in gotVinfoLock when doing read/write mmap.
    • Fix a workload that continuously invokes operations that require exclusive inode locks, such as chmod or chown, could prevent mmrestripefs or mmdeldisk commands from making progress.
    • Fix rsh/rcp failing in mmcrcluster when the second interface is being used to create a node and the hostname interface does not have permission.
    • Fix connecting to server, when running mmsdrcli, in cluster with daemon and admin on two different interfaces.
    • Do not return windows attributes blindly for gpfs_fgetattrs() API.
    • Fix file creates and deletes being blocked for a long time after a node failure, especially in file systems with a large number of inodes.
    • Fix allocation code to prevent an assert that could occur while trying to delete/replace disk.
    • Fix the fsck block compare method to support variable data / metadata block size routines failing and resulting in asserts during the fsck compare operation.
    • Fix file system policy information obtained by mmsnmpagentd.
    • Fix mmsdrfs generation changed event in events exporter.
    • Ensure the scope of remaining configuration parameters is not changed as a result of a delete operation on a configuration parameter.
    • Always refresh session list that registered for mount. This avoids a mount failure scenario where the session could be deleted or added while another node is processing the mount event.
    • Improve GPFS admin commands initiated on a daemon down node, forcing the execution to run on an active node, in a large cluster.
    • Fix IcQueryDirectory implementation for FILE_ID_BOTH_DIR_INFORMATION and FILE_ID_FULL_DIR_INFORMATION to correctly assign the file ID field.
    • Fix performance when sequentially overwriting an existing file in contiguous sector-aligned pieces that are less than the block size, do not read or prefetch any data.
    • Add GPFS mount options nfsHashName and nonfsHashName. If nfsHashName is in effect, the NFS FH will include the hash value of the file name. This option will improve performance but is off by default. Turning it on might cause some ENOENT error with NFS.
    • Fix ACL garbage collector delete auto-generated Window SID mappings.
    • Fix race condition starting too many mmkprocs when using many mmapped files.
    • Change the allocation code to prevent looping when migrating blocks after a disk's failure group assignment, data type or storage pool has changed.
    • Use seqDiscardThreshhold for determining if a buffer stays in pagepool after it has been consumed by a reader, or after it has been flushed by a writebehind thread. This allows setting a large seqDiscardThreshhold to cache most files below that size. Setting a low writebehindThreshold will start flushing sequentially written files so that a large pagepool does not fill up with dirty buffers.
    • Improve performance of snapshot, copy-on-write in particular, immediately after the snapshot is created and a large number of files are updated from multiple nodes in the cluster.
    • Fix gpfsInodeCache slab (and cpu) usage high due to NFS anon dentry allocations.
    • Improve sync performance when many dirty buffers.
    • Fix race condistion when performing extensive AIO on a node.
    • Add padding variable to SGPoolDataStored structure to prevent data misalignment.
    • Update gpfs_fcntl.h copyright statement.
    • Fix code in initializing a dummy super block "shutdownSuperP", which may cause kernel crash in some of the Linux kernel versions.
    • This update addresses the following APARs: IZ90535 IZ90866 IZ92310 IZ92316 IZ92318 IZ92320 IZ92325 IZ92330 IZ92413 IZ92427 IZ92467.

    Problems fixed in GPFS 3.4.0.3 [January 06, 2011]

    • Fix assert happening in setCachedRecAddr when the cached disk address is NULL while the disk address read from disk is a real disk address. Modify the assert to allow this kind of change. And, update the cached address locally.
    • Fix a potential metadata allocation problem where wrong disk may be selected-occurs in selectRandom code branch when invoked in getRandomTargetDisk.
    • Fix repeated RDMA connection attempts due to IBV_EVENT_PORT_ERR.
    • Fix AIX crash caused by kxFreeAllSharedMemory.
    • Fix code, when value of the option "-p" for cmd mmcrfileset is invalid, returning misleading error message, "InvalidOption".
    • Fix mmbackup of fs with no changes sending files to TSM.
    • Fix mmbackup migration from straight TSM, older backup format (3.2), or recovery when shadow file not present would cause full backup.
    • Avoid very rare assert (BaseFilesetMetadataRecord) during restripe operations such as mmdeldisk.
    • Fix a deadlock between the tsdeldisk and the inode expansion.
    • Fix: An additional characteristic of pathnames with special characters present is they can cause TSM to exit with rc=4. Sometimes this was being mis-handled in mmbackup because the highest and "net status" error code from all the runs of TSM was not recorded/provided.
    • Permit TSM install to be in "bin64" for AIX and find needed config file (dsm.opt) there. Provide enhanced debugging in tsbackup33 using DEBUGmmbackup bits.
    • Add new functions to carefully split file list lines and notice if the split char is showing up in the file name as well.
    • Fix the allocation code which can cause a filesystem to panic with "Too manydisks are unavailable" when running out of disk space.
    • Fix a rare race condition where a file system manager failure during a disk status change could cause temporary loss of file system access.
    • Fix kernel assert when dmapi event generator is accessing null sgP pointer.
    • Fix mmcheckquota showing confusion error message when scanning large fs. This was due to insufficient memory.
    • Provide inode space expansion during directory entry creation if new inode number is out of range.
    • Fix an erroneous assert check in fsck cleanup path.
    • Fix rare deadlock that occurs if NSD server fails during mmcrfs cmd.
    • Fix mmapplypolicy having an internal error. Or, as a workaround, avoid using -i and -g and -N together.
    • Provide support for recognizing DSM_CONFIG env variable in mmbackup.
    • Fix mmimgbackup failing when rebooting another node. Keep tsapolicy exit code at 0 when recoverable or expected errors occur. Important for scripted usage of mmapplypolicy depending on mmapplypolicy exit code to be 0-even during multi-node operation, or when one or more "helper" nodes fail.
    • Fix FSErrValidate error in ACL GC while inode expansion is also running.
    • Provide a --block-size option for the mmlssnapshot and mmlsfileset commands.
    • Fix race condition between two remove threads removing same file.
    • Fix deleting a snapshot containing sparse files that could, in some rare cases, cause temporary loss of file system access.
    • Fix race condition between deferred deletions and policy file creation.
    • Fix assert "aceLength > 0" in tsgetacl for default ACL on a dir in a remote fs.
    • Fix a rare problem in mmrestorefs error code path- CHECK_CONTINUE_ON_ERROR was starting the next inode without advancing inode block buffer to next inode buffer pointer.
    • Fix asserts in fsck while trying to fix corrupt directories.
    • Fix deadlock preMount callback invokes mm commands.
    • memcmp now defined in rtnetlink.
    • Fix permitting FSET snap handles inappropriately modifying the fssnap->magic number prior to a tsfattr(GPFS_SYNC_FS).
    • Fix for quote error in the m4 command invocation when running mmapplypolicy.
    • Relocate mmbackup related temporary files from root to /.mmbackupCfg/.
    • Fix sort->$sort.
    • Permit recovery after non-fatal TSM error codes.
    • Improve GPFS mmstartup time & other GPFS commands in adminMode=allToAll cluster.
    • mmexpel --wait command aborts the wait in case of quorum loss.
    • Avoid structure error assert after mmdelsnapshot when cached files in other snapshots are accessed.
    • Fix buffer length calculation for dmapi user event returned by dm_get_events call.
    • Fix dm_handle_to_path so that it can look up the directory name by its own handle.
    • Fix rare assert in fsync code path.
    • Fix problem of disk going off line with error 733.
    • Fix mmrestoreconfig failing. This occurs when quota command returns E_NO_QMGR while file system is being closed but, has not completely closed yet.
    • Fix problem of disk going off line with error 735.
    • Fix return code of appendOnly file checking routine.
    • Improve mmdeldisk progress time.
    • Add additional exmaple files, tspgrep and tsprm, to samples/ilm.
    • Fix a remote cluster not always picking a local NSD server when readReplicaPolicy=local is set.
    • Fix a startup synchronization issue that prevented GPFS autoload from working on some Windows systems.
    • Fix to fputattrs to restore/clear xattrs and to fputattrs_withpathname to not overwrite pathname once copied into the kernel. Users of IBM Tivoli Storage Manager Backup Archive Client and GPFS storage pools with policy RESTORE rules for data placement should apply this fix before restoring data to the GPFS file system.
    • Improve performance of small writes (<32k) over NFS to a file opened with with O_DIRECT on the NFS client.
    • Fix Linux crashing in cxigetinodenum on lockd call.
    • Fixed mmchfs code path that is leaving filesystem mounted internally.
    • Add support for RHEL 4.X x86_64.
    • Fix mmlssnapshot with -d option not showing data and metadata usage.
    • mm commands now display conflicting messages when the command is waiting to run, due to a conflicting program running, instead of after it has finished.
    • mmapplypolicy now suppresses progress messages if a non-interactive device is being used.
    • Fix the fsck block compare operation that results in a SEGV due to buffer overrun.
    • Reduce message traffic when writing a file with NFS.
    • Fix synchronization of dmapi destroy event thread and dmapi event response thread.
    • Fix assert in dmapi event timeout handlers.
    • Fix forced unlink of a fileset (mmunlinkfileset -f) on Linux causing temporary loss of file system access if there were deleted files still open in the fileset at the time it was unlinked.
    • Use TRCBUFSIZE environment variable for trace buffer size and ensure it is not overwritten by config parameter.
    • Fix some 64 bit counters in GPFS SNMP.
    • Properly restore windows attributes.
    • Improve performance of mixed random read/write workloads on large files over NFS.
    • Fix an invalid conditional assert in the fsck orphan management code.
    • Fix mmrestoreconfig failing, with tsdefquotaon failed rc=245, if quota command returns E_NO_QMGR while file system is being closed, but has not completely closed yet.
    • Avoid asserts and deadlock by having mmlsfileset and mmlssnapshot commands wait while mmcrsnapshot command runs.
    • Fix logAssertFailed: rmr1 != rmr2 when using GPFS RDMA.
    • Fix enabling fs with diskea and overflow block feature.
    • Fix a startup synchronization issue that prevented GPFS autoload from working on some Windows systems.
    • Fix a SEGV problem in mmlsquota when printing user quotas for a fileset.
    • Fix a case in mmchfs which leaves the FS internally mounted for a small time period after mmchfs is over.
    • Initialize filesetNameP.
    • Fix deadlock issue for flushing mmapped files.
    • FILESET_CMD_PERM for mmchfileset on Windows has been temporarily disabled.
    • Fix a startup synchronization issue that prevented GPFS autoload from working on some Windows systems.
    • Fix Linux mmdelacl returning E_OPNOTSUPP for files in a "-k nfs4" fs.
    • Add useDIOXW configuration variable to avoid Direct IO token thrashing when using some IO requests that match the GPFS blocksize.
    • On SLES11, a privileged user is now not allowed to create a file in a remote filesystem even though root squashing is enabled because the DAC_OVERRIDE capability was specified in the credential.
    • Fix mmbackup recording failed files incorrectly.
    • Update unlinked fileset handling code to properly cull paths from a new (3.4)-style shadow file and sort by inode number into the updated list file. Exempts the unlinked fileset contents from being expired from TSM.
    • Fix duplicate session id returned by dm_create_session due to clock out of sync problem.
    • Speed up snapshot creation and unmount on systems with a large amount of dirty data in the cache.
    • Suppress implicit file time updates after an explicit set time operation was perform on the same handle-these semantics only apply to Windows systems.
    • Allow dmapi clients to acquire access rights to a file that is being destroyed.
    • Add two new API's which can be used to improve performance for applications that make many API calls on Linux.
    • Tweak TSM Query code to recover files more accurately when doing shadow file reconstruction, including file names with break chars in the name.
    • Improve performance of random updates to a large file from a single node, if that file was previously accessed by another node.
    • Fix an assert during multiple instances of restripe running in parallel.
    • Fix a surplus indirect block not being processed during restripe.
    • Fix that could cause some files to become unreadable when running mmrestripefs on a system with small page pool or a workload that causes high demand for page pool buffers.
    • Speed up the reclaim of unused GPFS inodes on Linux.
    • Do not allow GPFS internal extended attributes to be set using the gpfs_fputattrs API. Require root authority to set DMAPI external attributes or external namespace attributes other than "user."
    • Avoid problems preventing upgrading v3.3 filesystems with snapshots.
    • Fix problem of restoring EA of pre 3.4 file system without fastea enabled.
    • This update addresses the following APARs: IZ86550 IZ87150 IZ87153 IZ88685 IZ88701 IZ88704 IZ88745 IZ88747 IZ88748 IZ88749 IZ88752 IZ88828 IZ88900 IZ88904.

    Problems fixed in GPFS 3.4.0.2 [October 07, 2010]

    • FSCK checks log file inodes even if they have log group number set to -1.
    • gpfsInodeCache slab (and cpu) usage high due to NFS anon dentry allocations.
    • Fix rare occurrence of file fragment expansion happening during file sync that can cause the assert failure related to GETSUBBLOCKSPERFILEBLOC.
    • If node cannot do cNFS recovery for a failed node then commit suicide so another node can do the takeover for both nodes.
    • Prevent FGDL kernel memory fault caused by very narrow race condition during directory lookup.
    • Fix assert related to RCTX.REPLIED, TSCOMM.C that occurs on the FS manager node if the FS manager is running GPFS release 3.2, and a release 3.3 client tries to mount the filesystem.
    • Linux IO: check mm_struct before pinning pages.
    • Improve performance of stat operations on Linux under certain multi-node access patterns.
    • Fixed an incompatibility between GPFS for Windows and the Interop Systems software bundles. This incompatibility caused Interop Systems bundle installation failure.
    • Fix hang between node join thread and events exporter request handler thread.
    • This update addresses the following APARs: IZ81230 IZ83798 IZ84008 IZ84016 IZ84039 IZ84041 IZ84045 IZ84145 IZ84161.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSFKCN","label":"General Parallel File System"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
25 June 2021

UID

isg400000542