Readme and Release notes for release 3.2.1.24 (GPFS) IBM General Parallel File System 3.2.1.24 GPFS-3.2.1.24-power-AIX Readme

Readme file for: GPFS-3.2.1.24-power-AIX
Product/Component Release: 3.2.1.24
Update Name: GPFS-3.2.1.24-power-AIX
Fix ID: GPFS-3.2.1.24-power-AIX
Publication Date: 05 November 2010
Last modified date: 05 November 2010

Installation information

Download location

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

Fix Download for AIX

Product/Component Name: Platform: Fix:
(GPFS) IBM General Parallel File System AIX 5.3
AIX 6.1
GPFS-3.2.1.24-power-AIX

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.

Installation information

After you have downloaded a GPFS for AIX update package into any directory on your system, use the following section to install the fix package.

  • - Installing a GPFS update for AIX

    Complete these steps to install the fix package:

    1. Unzip and extract the BFF image(s) from the *.tar.gz file:

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


    2. Verify the update's BFF image(s) in the directory.

      Normally, the BFF images in the directory would be similar to the following:
      Unnnnnn .gpfs.base.bff
      Unnnnnn .gpfs.msg.en_US.bff
      Unnnnnn .gpfs.docs.data.bff


      where nnnnnn represents the six (6) digits of the PTF number for the BFF image.

      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 2.3 to later releases. For example, upgrading from 2.3.x to 3.1.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 installp command or via SMIT on the node.

Additional information

  • - Notices

    [June 9, 2010]

    A build error caused an issue with the DMAPI function in the GPFS 3.2.1-20 package that was released on May 27, 2010. The corresponding packages have now been replaced on the service download site.

    If you installed the May 27 GPFS 3.2.1-20 package and mounted a DMAPI-enabled file system while running GPFS 3.2.1-20 (for example, -z yes by means of the HSM features of TSM), please contact IBM Support. The replacement 3.2.1-20 package works as designed, but does not fix a file system that was mounted with the problematic 3.2.1-20 package.

    Verify that you have the correct package installed by running the rpm -qi gpfs.base command. Make sure that the Build Date is Mon 07 Jun 2010.

    [June 2, 2010]

    A build error caused an issue with the DMAPI function in the GPFS 3.3.0-6 package that was released on May 22, 2010. The corresponding packages have now been replaced on the service download site.

    If you installed the May 22 GPFS 3.3.0-6 package and mounted a DMAPI-enabled file system while running GPFS 3.3.0-6 (for example, -z yes by means of the HSM features of TSM), please contact IBM Support. The replacement 3.3.0-6 package works as designed, but does not fix a file system that was mounted with the problematic 3.3.0-6 package.

    Verify that you have the correct package installed by running the rpm -qi gpfs.base command. Make sure that the Build Date is Thu 27 May 2010.

    [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.

    [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 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 BFFs are installed, you have successfully updated your GPFS product.

    Update to Version:

    3.2.1.24

    Update from Version:

    3.2.0.0 through 3.2.1.23

    Update (tar file) contents:

    README
    changelog
    U820757.gpfs.docs.data.bff
    U839469.gpfs.msg.en_US.bff
    U839877.gpfs.base.bff
    U832551.gpfs.gui.bff

  • - Changelog for GPFS 3.2.x

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

    Problems fixed in GPFS 3.2.1.24 [Nov 04, 2010]

    • Fix AIX crash caused by kxFreeAllSharedMemory.
    • Fix the allocation code which can cause a filesystem to panic with "Too many disks are unavailable" when running out of disk space.
    • Fixed kernel assert when dmapi event generator is accessing null sgP pointer.
    • Fix FSErrValidate error in ACL GC while inode expansion is also running.
    • Prevent a rare deadlock between mmcheckquota and FS manager recovery.
    • Fix assert "aceLength > 0" in tsgetacl for default ACL on a directory in a remote fs.
    • Fixes asserts in fsck while trying to fix corrupt directories.
    • Fix hang between node join thread and events exporter request handler thread.
    • Fix buffer length calculation for dmapi user event returned by dm_get_events.
    • Fix problem where a remote cluster does not always pick a local NSD server when readReplicaPolicy=local is set.
    • Fix for running cNFS cluster node failure-GPFS sometimes crashes when referencing a bad pointer after a node failure.
    • This update addresses the following APARs: IZ85087 IZ85445 IZ86270 IZ86546.

    Problems fixed in GPFS 3.2.1.23 [Aug 23, 2010]

    • Fixed a GPFS on Windows failure that can occur on systems with a large number of cores (e.g. 8 or more) running a workload with thousands of threads. When this error occurs, /var/adm/ras/mmfs.log.* shows "logAssertFailed: tid >= 0 && tid <= MAX_GPFS_KERNEL_TID". The fix for this problem removes any assumption on the maximum thread ID.
    • Add T (for terabytes) and P (for petabytes) as suffix to mmedquota/mmdefedquota.
    • Fix an ENOMEM error in the Token Manager memory when multiple remote cluster are working with the same files.
    • Fixed race between tschpolicy thread and deferred deletion thread. This condition caused an inconsistent inode state of that policy file being created both in on disk inode bitmap and in-memory bitmap.
    • Fix a deadlock caused by buffer steal during quota update.
    • Reduced time required while the file system is quiesced during create snapshot.
    • Avoid rare asserts when updating a small directory.
    • Adding a trace message for CNFS userexit.
    • Fix a problem when adding first disk to a new storage pool while file system is in sync process.
    • Fix to add additional maintenance for the local hasVinfoLock flag and remove bad DBGASSERTS.
    • Assert working with elements on the kxRecLockAcquires queue (needs to hold mutex).
    • Fix rare occurrence of file fragment expansion happening, during file sync, that can cause an assert failure.
    • The change fixes asserts in fsck while trying to fix corrupt directories.
    • Fix assertion caused when deleting snapshots with very large files.
    • If node can not do cNFS recovery for a failed node, then commit suicide so another node can do the takeover for both nodes.
    • Cache slab (and cpu) usage high due to NFS anon dentry allocations.
    • Fix assert 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.
    • Fix GPFS automount so that it reads config value in /etc/sysconfig/autofs.
    • Improve performance of stat operations on Linux under certain multi-node access patterns.
    • This update addresses the following APARs: IZ78118 IZ81253 IZ83749 IZ83794 IZ84006 IZ84014 IZ84019 IZ84038 IZ76610 IZ84096.

    Problems fixed in GPFS 3.2.1.22 [Aug 12, 2010]

    • Fix a rare assertion during quota file append.
    • Fixed a rare problem in reading a file from a snapshot that resulted in the data for the last portion of the file being replaced with zeros. Problem occurred only when a node reads the file through a snapshot, then another node appends a small amount of date to the file in the active file system and creates a new snapshot, followed by the original node immediately reading the same file in the new snapshot.
    • Pass a flag to tell underline function (flushFile) if flushflag is already held or not.
    • Fix assert caused due to accessing deleted inodemap.
    • Fix putacl/getacl deadlocked on aclFile buffer lock.
    • Fix assert in dm_set_disp() path, return error if ccmgr changed in the middle of processing new disposition.
    • During gpfsWrite, vinfoUnlock was called when lock was not held.
    • Fix problem in kSFSGetAttr call to handle compact file case.
    • Fix hang when executable run out of GPFS and mmapRangeLock=no.
    • Extract network interface from network configuration file on CNFS in case getif-cfg command doesn't work.
    • This fix applies to GPFS 3.2 and higher. To handle recovery when devices return E_NODEV.
    • Fixed code that allowed regular file read to be performed on a directory which lead to EIO error later. Linux only.
    • Fix code to always return EISDIR when regular file read is called on a directory.
    • When a migrated file is being deleted, generate dmapi READ event only when copy to snapshot is needed. Avoids unnessary recall if the file is not needed to be copied to snapshots before deletion.
    • Fix get_next_inode to retrieve specified inode information.
    • gpfsInodeCache slab (and cpu) usage high due to NFS anon dentry allocations.
    • This update addresses the following APARs: IZ80468 IZ80673 IZ80736 IZ80742 IZ80758 IZ80759 IZ80760 IZ80787 IZ80836 IZ81011 IZ81228 IZ81231.

    Problems fixed in GPFS 3.2.1.21 [June 29, 2010]

    • On failover/failback, (gratituous) ARP requests from the node registering a new CNFS IP address are rejected by some switches (that have STP enabled and portfast disabled) for a short period. Subsequently the IP address may not reachable from outside the subnet. Make sure the port is enabled (and outbound requests are accepted) by first ARPing the gateway (if one is configured) with a deadline of 30 seconds.
    • Serialize xattr registry initialization process.
    • Fixed deadlock due to sg takeover failure.
    • Fix EA limit calculation.
    • Corrected GPL build break on IA64 platform when kernel version is greater than 2.6.16.
    • Always shutdown GPFS when nfsmonitor detects unrecoverable problems such as statd is inactive.
    • Generate DMAPI read event when file is deleted and copy to snapshot is needed.
    • fsck is allowed to steal buffers from files that are low level locked as long as the buffer is not dirty.
    • Prevent repeated filesystem manager failure with "No space left on device" error when snapshot copyon write gets triggered and while filesystem is running out of disk space.
    • Ensure online fsck does a proper job of cleaning up stale, or failed, allocation message queues. Fixes resulting online fsck assert after finding stale AllocMsgQ.
    • Fixed problem in dm_set_dmattr() function so that attribute with common first serveral bytes are set correctly.
    • Synched disk address in a hyper-allocated file now matches the indirect block allocation address when allocation fails.
    • Fsck prints verbose information about the range of regions and the stroage pool it scans for each pass.
    • Reinitialize ea limit before adjusting it after remount of the file system.
    • Quota check operation prints approrpiate error messages when conflicting programs are running.
    • Cleanup allocation message queues properly during a failed fsck operation as a result of stripe group panic. Subsequent online fsck will not assert checking for NULL allocation message queues during initialization.
    • `kill -SIGINT ...` has been supported in all previous code releases. This update just brings tsapolicy into compliance with the defacto standard forhandling SIGTERM.
    • Turn on the CXIUP_NOWAIT flag when we know that it is safe to use igrab().
    • Fix internal dmapi attr name comparison routine so that it can compare the string with its true length.
    • fsck code does not assert trying to look into invalid disk addresses as a result of race with flush buffer operation.
    • Fix assert(ofP->inodeLk.get_lock_state()).
    • CreateReservedFiles checks the number of blocks to be written to inode file before starting threads.
    • Fix variable initialization that could cause "mmcheckquota -a" to terminate.
    • Detect missing definition for mmlsfileset utility and define it if needed. Earlier version of globfuncs do not have mmlsfileset utility defined.
    • Check for out of memory condition in token revoke handler.
    • Define I_LOCK if it is not already defined in Linux.
    • Fix dmapi attribute name comparison routine to take the short length into account.
    • fsck code does not assert trying to look into invalid disk addresses as a result of race with flush buffer operation.
    • Improve takeover time when using tiebreaker disks in certain cases.
    • Choose a bitmap size based on gpfs_statfs64() call to see how many inodes actually in use.
    • Fix failure due to expel cmd being run during disk election in tiebreakerdisk cluster.
    • This update addresses the following APARs: IZ76391 IZ77298 IZ75263 IZ75575.

    Problems fixed in GPFS 3.2.1.20 [June 9, 2010]

    • Use the disk availability information from the daemon for the mmlsdisk -m/-M options.
    • Fix a sig#11 problem during sg disk table update.
    • Add a method to indirect block iterator to ignore last change count in order to step to the next block when the current one is deleted.
    • Fix a rare assert caused by RelinquishAttrByteRange thread.
    • Fix some performance problems when reading large files from NFS clients.
    • Remove redundant message about loading policy rules on file system manage node's mmfs.log file.
    • Unlink fileset to wait for asynchronous recovery to finish before checking the fileset's files for activity.
    • Exception using a spin_lock in fasync_helper during fcntl revoke.
    • Avoid corrupted snapshot files in unusual case of open unlinked files.
    • Fix assert DE_IS_FREE(fP) in direct-common.C.
    • Allow change directio flag for immutable files.
    • Fix a GPFS deadlock that occurs on Linux, under high load conditions, with memory pressure and memory mapped files.
    • Fix code that could cause assert after node fail while running fsck.
    • Fix code causing an assert after manager node failed during filesystem manager takeover.
    • Fix problem for tsmigrated migrate to new clmgr node when clmgr node changed.
    • Avoid deadlock on Linux with small maxFilesToCache and very frequent file creates and deletes.
    • Ensure the mmsdrserv process is not killed if it uses its own separate TCP port.
    • Fix a deadlock involving read-write mmap under heavy stress.
    • Fix a case where higher-level indirect blocks were not being flushed when they were supposed to be.
    • Add input validation for xattr value size.
    • Change mmfileid to find "invalid" disk addresses when using the :BROKEN keyword.
    • Ensure all locks acquired during the lock file operation are released during a failed operation. Prevents the need for an explicit file lock release failing which will cause the code to assert.
    • Correctly bypass NFS client getting "permission denied" when "subdir/.." is looked-up internally.
    • Fix mmexectsmcmd to tolerate error return codes such as 4, 8 and interpret as non-fatal.
    • Avoid GPL compiling warning. Use void* instead of struct inode* in cxi file and cast it in OS specific file.
    • Fix a race condition between mmnfsdown and mmnfsup so that mmnfsdown can kill all nfsmonitor processes.
    • Fix for a rare deadlock during recovery on Windows.
    • Avoid chance of deadlock when updating shared directory under high load.
    • Verify interface is up (IFF_UP) before processing it. Interfaces brought down using "ifconfig down" (unlike "ifdown ") are returned with SIOCGIFCONF.
    • Rework handling automount on RHEL 5 or SLES 11.
    • Avoid a rare failure accessing a directory long after concurrent updates.
    • Fix array out of bound problem in eaRegistry dump function.
    • Fix problem in fully replicated filesystem which will not mount if all the disks in one FG are stopped and suspended.
    • Fix assert caused by rare CPU cache inconsistency situation on X86_64 hardware.
    • Check whether mmfs.log.previous file exists before renaming it.
    • Fix a rare assert during multi-node create and delete races.
    • Defensive check to ensure that an entry with a zero-length name is never inserted into a directory.
    • Correct permission-denied errors when nfsd rebuilds dentry trees on 2.6.27 (or later) kernels.
    • Retry deadlocks on rlMutex when called from RecLockReset to cleanup advisory locks.
    • This update addresses the following APARs: IZ73005 IZ74241 IZ74537 IZ74541 IZ74545 IZ74546 IZ74548 IZ75128 IZ75249 IZ75251 IZ75257 IZ75771.

    Problems fixed in GPFS 3.2.1.19 [April 1, 2010]

    • Fix for a rare race condition during disk address lookup of a newly allocated address under heavy load.
    • If there is mount failure to GPFS file system and you can only find "No child processes" message in mmfslog, apply this fix and you will see the real reason for the mount failure. This problem only affects Linux.
    • Fix disklease inconsistencies between clmgr resetting lastLeaseProcessed and the client resetting lastLeaseReplyReceived.
    • For a directory with FGDL enabled, when mnode token is being revoked but not the inode token, and when there is thread holding the openfile, CTF_FINE_GRAIN_DIR_MNODE flag will not get reset which may trigger an assertion next time the node tries to become metanode.
    • Correct the ineligibilityReason_id2name macro definition which will result in unknown id2name error during trace formatting.
    • The fix ensures that false compare mismatch errors are not reported and a relevant assert is not triggered when compare operation is done on a inode with bad file size.
    • Remove spurious errors in the mmfs.log.latest file about Expanded inode file.
    • Fix server side token issue in failure cases. If a revoke triggered by serversideRevoke fails with errors like E_BUSY, the client is not driving reset of copyset state & transnode, leaving the token state in fizzy and all future acquires will get queued forever.
    • The fix ensures that online fsck is not held for ever trying to steal buffers from inode range that is currently locked for online fsck scan.
    • locks_free_lock BUG(fl_block) call on ESTALE return from an fcntl lock. A heavy load of advisory locking on a single file range was causing lots of long lock waiters and retries.
    • Memory related problems from cppcheck were corrected.
    • Fix missing out-of-memory check in get inode routine.
    • Fix mmfsck so that it could handle badly damaged inode better when relica count went bad.
    • Fix SLES 11 automount. Only one automount daemon can be started in SLES 11.
    • Allow mmchnode --cnfs-enable to accept trailing spaces in network config file.
    • Fix problem where in a file system with large snapshots a failure of the file system manager during the first phase of an mmrestripefs or mmdeldisk command could under certain timing conditions cause corruption.
    • Fix problem where filesystems created by GPFS release 2.3 or older were not mountable by GPFS release 3.2 or 3.3.
    • Fix the code which caused GPFS daemon to assert after filesystem panic on FS manager node.
    • Inherit ACL entries based on filemode (should be the default ACL mode).
    • Correct a Windows problem when running mmmount all_remote for a Windows node.
    • Fix for a very rare race condition where a non-DIO read from a cached buffer may transiently return partially incorrect data.
    • Fixes issues in minorityQuorum clusters that have leaseDuration set and have migrated from 2.3 to 3.2.
    • Fix to tolerate an inconsistent state of Windows security settings on an inode following a failed TSM restore.
    • Fix mmdeldisk syntax error message.
    • This update addresses the following APARs: IZ72671 IZ72999 IZ72998 IZ72689 IZ73002 IZ73345

    Problems fixed in GPFS 3.2.1.18 [February 25, 2010]

    • Fix bug in mmchnode --cnfs-interface change option.
    • Fixed rare race condition in writing files from multiple nodes which could result in a file system corruption and data loss after a node failure.
    • Fix for a rare race condition that may result in a "Busy inodes after unmount" syslog message on Linux.
    • Fix counting the chars correctly when filename consists invalid UTF8 chars.
    • Fix a race condition between deldisk and deallocation of surplus indirect blocks that could result in dangling block pointers.
    • chrdev_open hits BUG call in list_add (device list is corrupted).
    • Fixed inode expansion code which can cause restripe to fail with an assert. This problem only happens when restripe and inode expansion run concurrently.
    • Fix allocation code which can cause "No space left on device" error on mount. This error is most likely to happen on initial mount after filesystem creation.
    • Prevent HSM and NFS from asking to open inodes that are system metadata nodes.
    • Load policy file on sgmgr node when file system is mounted somewhere so that low space threshold always set when file system is mounted.
    • If the file system is internally forced to unmount (file system panic), invoke the preunmount user exit if one is installed.
    • 1. Fix buffer calculation in dm_get_events when buffer size is greater than 64K. 2. Fix possible lose of events in dm_get_event() call when buffer size is greater than 64K.
    • Fix problem with mmlsfileset when expanding inodes is running.
    • Ensure raw trace files are preserved after a node reboot.
    • Return EMEDIUMTYPE rather than ELNRNG for incompatible format errors on Linux system.
    • Fix fsck so that it detects problems and fixes them without encountering struct assert errors even if the 'assertOnStructureError' config option is turned on.
    • Notify dm_get_events that the session already failed after quorum lost in the cluster.
    • Fixed potential assert when writing small files via NFS under heavy load.
    • Fix spurious EIO errors accessing hidden .snapshots directories enabled via "mmsnapdir -a".
    • Allow case insensitive node identifier in specfile.
    • Improve performance of large file create when DIO is used.
    • Error conditions returned due to failed metadata flush operation are handled appropriately preventing the restripe operation from asserting due to failed checks.
    • Fix fsck code so that it doesnt report the corrupt addresses problem that it claimed to have fixed during the previous fsck run.
    • Fixed hardlink assertion problem when upgrade file system from 2.3 to 3.3 or later.
    • Fix code to avoid holding mutex twice while revoking token encounters SGPanic.
    • Remove stat() calls in the mmshutdown path.
    • Fix assert s_magic == GPFS_SUPER_MAGIC on kernel 2.6.16.60-0.59.1 and above.
    • Fixed an allocation loop which could occur during mount and rebalance of a filesystem.
    • Fix mmbackup to divide up the list of files that need backup based on filesize when numberOfProcessesPerClient=2 (or more).
    • This update addresses the following APARs: IZ67745 IZ68029 IZ68724 IZ68773 IZ69478.

    Problems fixed in GPFS 3.2.1.17 [January 14, 2010]

    • Stripe group configuration change so data block loss cannot occur if data is being ingested along with the configuration changes.
    • Fix policy handling of rules of the form "EXCLUDE FROM POOL" to prevent LOW_SPACE events from incorrectly being logged.
    • Fix problem on systems configured with large maxFilesToCache that could cause file systems to be unmounted on some client nodes when running recovery after a manager node failure.
    • Replace the lsvg command with getlvodm.
    • Fix ioctl opcode conflict with FIGETBSZ on Linux kernel 2.6.31 and later.
    • Fix fsck to avoid incorrect reporting and fixing of filesystem corruption in a heterogeneous cluster.
    • Avoid confusion when using a local fcntl lock versus an NLM one.
    • This fix will give users early warning and exit when unlinked filesets are present. It also prevents further processing of files that would otherwise give the user misleading error information.
    • Limit the number of attempts made to destroy nfsd threads in mmnfsquorumloss in case an nfsd thread is stuck waiting for IO to complete in GPFS.
    • Do not stop NFS or unexport fs on quorum loss. Kill NFSDs that are stuck during setNfsdProcs.
    • Prevent occasional hang under high stress when several nodes concurrently share multiple directories.
    • Fix mmdelnode syntax error checking.
    • Fix data corruption when using mmap.
    • Avoid kthread waiters in cNFS clusters after failover.
    • Fixed the allocation code which caused a loop during metadata allocation. This problem only affects filesystem with metadata replication enabled.
    • Fix mmbackup incremental to handle conversion from short filename records to new longer records after upgrade to 3.2.1.14 or later.
    • Fix Linux "mmnfsinit start" command and return correct return code.
    • Fix problem where a multi-threaded workload reading extended attributes from a large number of files could cause accumulation of a large number of byte range tokens leading to slowdown and spurious ENOMEM errors.
    • Add support for -N nodeList option in mmbackup version 3.1 and 3.2.
    • Keep FS descriptors off of excluded disks even if they come online.
    • Fix assert failure on FS manager node when unmountOnDiskFailure=yes and a disk fails after 3.2.1.14-16 installed.
    • Reduce number of inodes copied to snapshots.
    • Do not let socket get stuck in reconn_cleanup state following repeated breaks that occur just after connection handshake completes.
    • Reduce the pagepool usage by inode allocation segments during FS manager initialization or recovery.
    • Fix a problem with cutting traces in a CNFS setup.
    • Fix filesystem panic when a failed disk holds a FS descriptor and returns unexpected error codes.
    • Ignore un-supported permission flags passed to gpfs_i_permission on SLES11.
    • Correct intermittent bug where mmlsfileset fails to show junction paths.
    • Fix for a rare race condition that may cause an assert in the invalid fileset object disposal path.
    • Fix for a SIGSEGV on Windows caused by a race in accessing the ACL file.
    • Correct processing to prevent quota requests from being performed while the quota manager operations are being quiesced.
    • Fixed error handling for ibv_reg_mr call.
    • Correct a rare problem (due to an error encountered writing quota files) that can prevent a newly created filesystem from being mounted.
    • Fixed a problem which prevents filesystem remount after a forced umount due to error(ie. filesystem panic,quorum loss, etc).
    • Fix quota manager cleanup when file system manager migrates.
    • Fix a file structure error caused by SetAllocationSize.
    • Handle IB port event of LID change.
    • Correct a problem when verifying that the daemon is down from a Windows node.
    • Fix signal 11 due to bad RDMA index and cookie received from the TcpConn in verbs::verbsClient_i.
    • Fix possible deadlock restriping a file system with data replication enabled under application load and with small pagepool.
    • Warning messages on conflicting opertaions are sent to stderr to avoid littering stdout.
    • Resolved an issue that in rare cases could cause GPFS to terminate when tracing is enabled.
    • Fix a problem in mmdf where number of free inodes may become negative.
    • Fix race condition that occurs due to disk failure during clmgr election while using tiebreaker disks.
    • Fix assert "offset mappedLen" when reading dirs.
    • Fix allocation manager problem that caused pool to not be deleted when it should have been.
    • Fix assert due to invalid fcntl acquire sleep element found on the kernel queue.
    • Fix a rare bug that occurs during nsd config change along with earlier disk issues to another deleted nsd.
    • Fix a problem that can lead to loss of an intermediate SSL key file.
    • Fix a problem with interpreting the syncnfs mount option.
    • Fix an assertion during mount that could happen when quota management is enabled and snapshot is being used.
    • When open of the directory fails and not all fields are set, do not call back into GPFS to do close (release). This may cause an invalid assert due to attempting to reference uninitialized fields.
    • Succedent tscrfs command will unset some flags unexpectedly even if it cannot get the permission to run. It will cause a daemon assert. Clear flags only if the command has set it before.
    • This update addresses the following APARs: IZ63351 IZ65194 IZ65380 IZ65414 IZ65614 IZ66577 IZ66881 IZ66894 IZ67312 IZ67542 IZ67543 IZ67545 IZ67548 IZ67624.

    Problems fixed in GPFS 3.2.1.16 [November 12, 2009]

    • Ensure mmexportfs does not remove tiebreaker disks unless device name is "all".
    • Fix kernel exception in fifo_open due to an invalid i_pipe pointer.
    • Increase prefetchThreads+worker1Threads+nsdMaxWorkerThreads to 1500 on AIX 64bit systems.
    • Improve SMP scalability in the DIO code path.
    • Fix small window where message send will hang if destination list includes the local node and all other nodes reply before the local send can start.
    • Prevent force unmounts when disks in different failure groups (FGs) fail, but are in different pools. Prevent marking disks down in multiple FGs when disks die simultaneously.
    • When special encoding flag is set in a functions debugging frame section, an extra offset should be added during decoding. Otherwise, the thread traceback can not be decoded correctly.
    • Add an new file system option --filesetdf.
    • If persistent reserve is enabled, fix filesystems so they don't become unmounted if the filesystem has any disks already marked as "down" or issues fencing a disk.
    • Fix mmpolicyExec-hsm.sample to handle characters \ " and ' in filenames properly so that they work in HSM file list.
    • Fix deadlock during FS manager takeover if previous FS manager and its disks (site failure) fail at the same time.
    • Fix DMAPI enabled filesystems when they are mounted on top of another GPFS filesystem.
    • Fixed GPFS hang when recalling files.
    • When running lsvg do not wait for the volume group lock.
    • Fixed performance problem while migrating files.
    • Acquire the stripe group descriptor mutex before changing the quota files inode information in the stripe group descriptor.
    • Fixed the allocation code which caused an infinite loop when running out of full metadata block.
    • Correct a problem when changing the admin node name of a server node.
    • Fsck generates false positives for bad repication status in user metadata files after a failed PIT operation. The fix ensures that fsck does not generate the false positives.
    • Avoid crash in rare cases of concurrent multi-node file creates.
    • Fixed repair code which can caused snapshot file corruption which could happen when filesystem contains fileset, snapshots and deleting disk resulted in not enough failure group for proper replication of metadata.
    • This update addresses the following APARs: IZ59644 IZ62776 IZ63168 IZ63169 IZ63170 IZ63206.

    Problems fixed in GPFS 3.2.1.15 [October 8, 2009]

    • Add more information about which filesystem a disk may already belong to if known.
    • Fix for recently created filesystems using a 384KB block size and a very large directory getting unexpected failure with EFBIG during create.
    • Fixed memory corruption when dmapi destroy event is enabled.
    • Collect more NFS export information during gpfs.snap.
    • Fix cancel blocking lock over NFS.
    • Fixed daemon assert when deleting files from a dmapi enabled filesystem.
    • Check that we have enough revoke threads.
    • Fix problem where munlinkfileset with the -f option killed programs using mmap.
    • During a stripe group mount, ignore the 'exclDisks' mount option for a filesystem in a remote cluster.
    • Prevent deadlock "In kernel waiting for operations to quiesce" when mmfsctl suspend, mmunlinkfileset, mmcrsnapshot, mmdelsnapshot commands try to quiesce all activity in the filesystem and there are pending mmap operations.
    • Fixed problem that file migration not started after file system manager node changed.
    • Fix performance degradation for multi-node directory updates after a large number of deletes.
    • Fixed tsmigrated problem that handles lowSpace events, automatically restart on new clmgr node.
    • Use ethtool to monitor all interfaces other than infiniband and bonding.
    • Fix rare assert that occurs when a bad contact node is specified in remote cluster configuration.
    • Fix mmap file token revoke to relinquish and invalidate mapped pages in the correct ranges.
    • Fix a hang in certain scenario following mmsetquota -j.
    • Correct code causing fsck problems to be mangled or lost when machines of different endians are involved in shipping the problem between the worker node and the Stripe Group manager.
    • Fix gpfs.snap error in cluster with similar hostname and/or collecting data on a shared filesystem.
    • Fix return from findRecoveryNode.
    • Fix looping allocation in restripe when some disks are suspended and some disks are nearly full.
    • Fix for mmapplypolicy with the -B parameter set to a very large number (100,000 or more) can lead to a program failure which cascades from a malloc failure.
    • Prevent offline fsck from crashing the deamon while fixing orphans in a dmapi enabled filesystem.
    • Fix mmapplypolicy to correctly handle pathnames with shell metacharacthers anywhere within a GPFS filesystem.
    • Ensure mmfsctl syncFSconfig does not affect free disks unless device name is "all".
    • Fix small window where message send will hang if destination list includes the local node and all other nodes reply before the local send can start.
    • Ensure mmaddnode fails if the IP address already appears in the cluster.
    • Prevent quota quiescing operations from being performed again if the stripe group manager quiescing operations are restarted due to an exception.
    • Fix fsck so that it promptly locks the inode from the respective snapshot before it attempts a scan on the inode for the particular snapshot.
    • Ensure internal temporary files needed by mmgetstate are always present.
    • Validate user input for NSDid when using mmdelnsd with -p option.
    • Ensure mmsdrserv is started on the server nodes after an AIX install.
    • Fix daemon crash due to race condition between the fsck watcher thread and the master thread that could lead to the watcher thread accessing stale fsck pointers that would have already been freed.
    • Fix rare assert that occurs if a node joins in the middle of clmgr challenge-response sequence.
    • Fix snmp polling handler refresh scheme to get some GPFS state changes.
    • Fix restripe code to perform rebalance even if file is illreplicated.
    • Correct a problem with logging when a one of the failure groups in a replicated file system is full.
    • Acquire the stripe group descriptor mutex before changing the quota files inode information in the stripe group descriptor.
    • Correct exception in lock_get_status during fcntl revokes on Linux.
    • Added code to syncronize the free allocator counter when the file system manager is exiting to avoid assertion from happening in some rare cases.
    • Fix tsstatus -m to return rc 2 if the file system is not mounted anywhere.
    • Fix an assertion due to synchronization problem between events exporter initialization and its sendHandler thread.
    • Avoid daemon failure due to unusual pattern of directory updates.
    • Ensure that quiesce sleepers are woken up if the stripe group manager take over happens during quiesce operations.
    • Avoid slowdown in certain highly multi-threaded situations when GPFS block size is large.
    • Correct a rare logging problem in snapshot code.
    • Fix a SIGSEGV during file system panic message generation on AIX with 32-bit kernel.
    • Ensure that multi log directory updates are not held up waiting for spool done thread log wrap to complete.
    • Fix for a rare race condition in cleaning up cached data about fileset objects.
    • Fix rare deadlock during fsmgr node failure recovery that has a policy file.
    • Fix for Assert (lockRangeNode != NODE_NONE) in line 4177 of file llio.C.
    • This update addresses the following APARs: IZ59355 IZ60281 IZ60287 IZ60289 IZ60335 IZ60583 IZ60595.

    Problems fixed in GPFS 3.2.1.14 [August 20, 2009]

    • Fix memory leak that may occur when a node that serves NFS and has active locks fails over.
    • Have gpfs.snap gather disk data for disks that mmdevdiscover would find, not just the local disks.
    • Fix potential for infinite loop when nfsd/nfsmonitor encounters an error.
    • Remove deadlock by passing kernel opereration from NFS to gpfsClose.
    • Avoid hang under very heavy load when multiple filesystems are used.
    • Invoke the syncfsconfig user exit after mmchconfig disk related changes.
    • Fix problem that could cause deadlock in some rare cases after a node receives unrecoverable I/O errors from the disk subsystem.
    • Performance improvement for NFS clients.
    • Fixed potential memory corruption in fcntl lock area.
    • Fixed problem in dm_handle_to_path() function so that it returns path length correctly.
    • Fix snapshot code which caused an assert after delete snapshot failure.
    • Allow lowering the worker1Threads configuration setting dynamically.
    • Prevent force unmounts when disks in different failure groups (FGs) fail, but are in different pools. Prevent marking disks down in multiple FGs when disks die simultaneously.
    • Fix mmbackup to handle pathnames up to 4096 bytes long.
    • Support AIO interfaces for kernel earlier than 2.6.19.
      Note: this is actually synchronous, GPFS 3.2 doesn't support true AIO semantics.
    • Run node failback asynchronously and check for IP release using arping.
    • Fix sample script ilm/mmpolicyExec-hsm.sample to handle spaces (blanks) in filenames.
    • Fix mmapplypolicy statistic to report proper count of LIST candidates.
    • Fix problem where NFS clients accessing hidden .snapshots directories below the file system root (enabled "mmsnapdir -a") would receive spurious ENOENT or ESTALE errors after some snapshot is deleted.
    • Avoid hang under very heavy load when failures cause node recovery.
    • Correct behavior issuing mmdeldisk after an interrupted mmadddisk which could possibly leave a filesystem unmountable due to recovery errors.
    • Allow mmlsfileset command to wait for admin commands to finish.
    • Fix prformance problem with set/get dmattr.
    • Improve some NFS sequential file performance.
    • TSM restore by non-root user failing permission check in putOpaquePolicyAttrs.
    • Avoid hang when unmounting a very active filesystem.
    • Fix errors on various file ops during mmapplypolicy.
    • Fixed race condition in mmap directio operations.
    • Change setacl behavior so non-owner sees error when WRITE_ACL permission is not granted.
    • During quorum loss, force query of stripe group manager.
    • Fix assert encountered by stat during inode revoke handling.
    • Fixed a locking order problem in allocation manager recovery code.
    • Fixed GetSomeDataBlockDiskAddrs to synchronize with metanode takeover.
    • Fix the assert in dm_create_session() to handle error conditions better.
    • Prevent assert that occurs if quorum loss occurs during mmchmgr command.
    • Fix race condition during unmount of a quota enabled file system.
    • Fixed assert when restriping and closing of a file happens simultaneously.
    • Avoid mmdf preventing other managment commands from executing after a mmdf command failure.
    • Add better check for local node address during quorum formation.
    • Fix structure error after mmdelsnapshot caused by incomplete dirty indirect block flush.
    • Fix to check for client socket when scanning inodes file.
    • Fix rare race condition between quorum loss thread and i/o threads.
    • Fix handling of an alloc manager recovery message reply that caused offline fsck to erroneously exit with too many disks unavailable message.
    • Fix mmap write to pass assigned disk address to doDirectio.
    • Fixed infinite loop due to bad hash key when looking for indirect blocks.
    • Fixed crash during unmount of dmapi file system on Linux.
    • Fix printing of mmfsadm eventsExporter responses that are larger than 4000 bytes.
    • Fix a SIGSEGV problem during events export.
    • Fix hang when changing the cluster manager to a new node.
    • Support Linux AIO interfaces for kernel that is earlier than 2.6.19.
    • Fix an assert encountered while executing command mmfileid.
    • Fixed deadlock during quiesce due to requests being missed because they were not in the GlobalWaitQueue.
    • Avoid assert that occurs if the filesystem is attempted to be unmounted during a quotacheck operation.
    • This update addresses the following APARs: IZ54485 IZ55419 IZ56130 IZ56131 IZ56249.

    Problems fixed in GPFS 3.2.1.13 [July 9, 2009]

    • Performance improvement to avoid deadlock when multiple nodes empty large directories.
    • Change mmdeldisk to copy blocks to retain replication while doing its scan. This removes the need to do suspend and rmmrestripefs before doing mmdeldisk.
    • Fix cluster manager migration code which can cause an assert when migration fails.
    • Fix a problem where a file system manager failure followed by another node failure within a very short time could lead to allocation map corruption under certain timing conditions.
    • Avoid hang after forced unmount interrupts addition of new inodes.
    • Prevent rare data corruption after node failure just before enabling log replication.
    • Issue error for mmchfs -v if the node is down.
    • Fix mmrepquota output to display large numerical user ids correctly.
    • Fix mmunlinkfileset problem on systems with large cache so file system operations do not block for an extended period.
    • Correct return value type of getMaxAcqSeqNo to prevent 32-bit overflow.
    • Fix for a deadlock between pdflush and GPFS code that occurs under heavy mmap load.
    • Fixed a problem where the sgmgr node thinks that fs is mounted on client node(s) when it is not.
    • Add defensive code to mmdumpkthreads to prevent infinite loop in case stack frame is corrupt.
    • Fix a small timing window where file access within a snapshot could deadlock if the original file is being deleted at the same time.
    • Verify /proc/fs/nfsd is mounted before trying to update thread count.
    • Fix a rare deadlock in quota management when a quota entry is removed from the quota file.
    • Correct extraneous line in mmgetstate -a output.
    • Fix a defect that could hang GPFS daemon during file system manager take over process.
    • On AIX gpfs_get_realfilename should return ENOSYS and not generate SIGILL.
    • Remove deadlock by passing proper kernel operation to gpfsClose wherever it is already in effect.
    • Fix a problem in the mmpmon histogram facility which can cause a kernel exception.
    • Fix a deadlock during token manager appointment during heavy workload.
    • Prevent deadlocks between HSM recall and filesystem quiesce operations for mmbackup, mmcrsnapshot, mmdelsnapshot, or mmfsctl suspend.
    • Fail unsupported disk sector size on nsd create operation.
    • Fixed a race condition between delsnapshot code and inode prefetch worker thread prefetching inodes from snapshot being deleted.
    • Corrected long waiter in quota procesing during unmount of filesystem.
    • Avoid crash when deleting snapshot on fs with very small block size.
    • Fix problems related to preserving file flags (such as illReplicated) when blocks are moved into a snapshot.
    • Fix mmdelsnapshot to skip syncFS error from nodes that no longer have the file system mounted.
    • Fix for a rare assert that occurs if multiple mmchmgr commands are used to move file system manager around in a quick succession.
    • For file systems with very large number of quota ids, fix a performance problem with cleanup of cached quota entries in file system manager causing slowness in manager takeover.
    • Fix a problem in gpfs_getacl.
    • Fix a rare race condition caused by concurrent mmdelfileset and mmchmgr in a quota enabled file system.
    • Fix a rare race condition caused by concurrent mmdelfileset and mmchmgr in a quota enabled file system.
    • Fixed error in mmaddcallback command with -N quorumNodes option to only add to quorum nodes.
    • GPFS on AIX should be able to terminate cleanly.
    • Fix code to correctly show nested fileset junction path for command mmlsfileset.
    • Fix the size_t data type of the length component in the mmap ne and pass the value appropriately.
    • Correct intermittent error in m4 expansion of policy.
    • Fix the problem that lxtrace off or gpfs hangs on Linux nodes when lxtrace daemon is killed by SIGKILL.
    • Suppress warning during GPL build.
    • Fix an assert caused by incomplete cleanup of a failed mmdelsnapshot command.
    • Fix for a race condition between inode expansion and file system manager migration.
    • Improve performance of GPFS daemon to kernel calls on Linux by using the unlocked_ioctl op on the ss device, reducing acquires and releases of the big kernel lock.
    • Fix code which can cause a signal 11 while adding, deleting or replacing a disk.
    • Avoid unexpected growth of the inode file during FS manager takeover.
    • Fix a problem that occurs when multiple token servers fail. If a second token server fails during log recovery after a first token server failure, there is the potential for an assert in the daemon.
    • Fix potential memory corruption in IO waiter handler.
    • Fix race that occurs if a node goes down and comes back before the peer recognizes the socket connection break.
    • setxattr(ACL) was setting aceLength incorrectly causing mmgetacl to fail.
    • Fixed a problem that a false no space error is returned creating files when disks still have space left.
    • Fix creation of allocation maps when some LUNs have more than 4G subblocks.
    • Make sure arping is done on the real interface when aliases are present.
    • During mount display an error message if new quota files failed to be created, due to inconsistency with current degree of replication, allocation strictness or number of failure groups.
    • Fix problems that occur when snapshots are being processed and the file system runs out of space to allocate the second replica but can allocate the first replica.
    • Fixed snap shot creation code so it will respect replication strictness setting (-K).
    • This update addresses the following APARs: IZ52682 IZ53013 IZ53014 IZ53044 IZ53089 IZ53134 IZ53142 IZ53489 IZ53548 IZ53953.

    Problems fixed in GPFS 3.2.1.12 [May 28, 2009]

    • Correct handling of mmfsck command on remote node if neither -y nor -n flag was specified.
    • Fix case where filesystem recovery might run while a node was not yet completely failed.
    • Fix handling no space errors and obeying the replica allocation policy setting for quota files.
    • Fix for the "privVfsP != NULL" kernel assert in inode.c.
    • Fix dereference of stale OpenFile pointer in gpfsMmap.
    • Fix mmap to avoid mmap related hangs in the Linux IPA program analysis, IMAP processing, and AIX binder.
    • Fix apparent file system hang due to mmdelsnapshot performance if a large number of snapshot files had been accessed recently.
    • Fix mmdumpkthreads/kdump for BlueGene/P IO nodes.
    • Use direct I/O rather than buffered I/O in multipath environment for tspreparedisk.
    • Avoid segmentation violation on 'mmfsadm dump all' command by adding argument validity checking.
    • Fix pagepool buffer deadlock when writing using invalid application buffer memory addresses.
    • Increase the maximum number of supplemental GIDs supported on Linux.
    • Skip fast directory lookup using fold value on older Linux kernels.
    • Correct 'df' command output on NFS exported file-set to report the same numbers as local.
    • Properly return open file pointer in cxiCheckOpen to avoid filesystem corruption.
    • Fix handling of pagepool buffers when snapshot files are scanned and the active file has both user extended attributes and DMAPI attributes.
    • Do not delete the entries from the quotaEntryTab unless all the modified entries have been written to the disks, avoiding an assert.
    • Avoid deadlock when multiple nodes empty a very large directory.
    • Do proper endian conversion on imported FskError inode problems when imported from a different endian machine.
    • FakeSync() routine should check the cached flag of an open file pointer and skip the open file pointer if the flag is not true yet.
    • Make mmrestripefile honor to filesystem's strictness option.
    • Fix handling of quota file indirect blocks.
    • Fixed code which can cause an assert during stripe group cleanup.
    • Add better checking of socket state so sgmgr tsdefragfs thread is aware of client termination in order to exit as early as possible when client program terminates.
    • Fix assert due to narrow race window when a token revoke arrives at a node which is panicking the related file system.
    • Fix assertion that happens when mmcrfs command is interrupted before completion.
    • Fix rare assert due to mmchmgr command running during node recovery.
    • Avoid Oops in datashipping, change to get data from the mailbox before freeing it.
    • Fixed incomplete error checking when acquiring a byte range token for fcntl locking.
    • fixDirBlock() should translate inode numbers outside the allocated range to INVALID_INODE_NUMBER.
    • Fix assert that can occur during a narrow race window in the daemon shutdown sequence.
    • Correct parsing of mmcrfs -i parameter.
    • Fix rare deadlock with low worker1threads on BlueGene/P and large number of openfiles.
    • Fix assert caused due to expanding inode file while creating snapshots and deleting directries.
    • Fix small hole in synchronization between the idle disconnect thread and the receiver thread that can cause communications to hang with connection broken on one side only.
    • When openssl low level function returns error caused by invalid key file, shutdown mmfsd to avoid propagating the error to other code layers that may cause unexpected behavior.
    • Fix a problem in restripe code where a spurious error is generated when the most recent snapshot is in a state where it can't be opened.
    • Fix for a kernel stack overflow on RHEL4/i686 in mmgetacl/mmputacl path.
    • Fixed loop in error path during snapshot file creation.
    • Fix a problem in quota client startup and subsequent cleanup when file system mount can't succeed.
    • Fix double free in mmshutdown, change to use _exit() in linux_exit.
    • Fix dereference of stale OpenFile pointer in gpfsMmap.
    • Validate timestamps when WatchDog thread is used to check hung thread periodically.
    • In case of an non .. entry with invalid inode number, fsck prompts user with the message that the entry needs to be removed.
    • Fix asserts due to quorum loss when revokes are pending to local node in remote cluster context.
    • Fixed assert during processing of mmrestorefs command.
    • Do not allow -N to be specified with mmchconfig dmapiMountEvent=xxxx .
    • Account for a missing [common] line in the mmlsconfig output.
    • Fix incorrect number of inodes used or free shown by df -iv. Prevent premature inode file expansion.
    • Fix immutable file code which caused long waiters when running mmchattr -i command.
    • Fix assert that occurs in mmcrfs when it is run with a large (~2 billion) number of preallocated inodes specified.
    • Fix problem when system log files are left on a disk that was changed to be "descOnly" disk.
    • Correct Linux daemon shutdown sequence in order to wait for child processes (opened by user exits or pipe) to finish.
    • Fix a broken network connection problem between datashipping nodes, add NULL address processing.
    • Remove Linux vfsUserCleanup which kills processes with a current working directory in a file system being force-unmounted.
    • Fixed node crash when shutting down gpfs due to mmap counter problem.
    • This update addresses the following APARs: IZ43334 IZ48161 IZ48580 IZ50228 IZ50229 IZ50230 IZ50231 IZ50233 IZ50359 IZ50369 IZ50837.

    Problems fixed in GPFS 3.2.1.11 [April 24, 2009]

    • Avoid structure errors in create while inode expansion is running.
    • Prevent recovery errors following a crash during mmdeldisk.
    • Keep quotas current if replication changed by restripe.
    • Fix a rare deadlock that could occur when running mmrestripefs or mmdeldisk while running a stress workload that creates or deletes files within the same directory from multiple nodes.
    • Fix 30-second delay in GPFS shutdown if another node was in the middle of a multi-node send when the destination node started shutting down.
    • Fix quota accounting with snapshot block changes.
    • Improved handling of error description data during error processing.
    • Fix rare single node hang due to stripegroup panic and quorum loss during restripe.
    • Allow support of unicode filenames in the policy language.
    • Fix logFile allocation errors on a specified disk.
    • Fix deadlock encountered during mmap reads.
    • Avoid log asserts during directory search.
    • Fix incorrect block calculation when using gpfs_preallocate.
    • Avoid printing recovering/recovered messages in remote cluster 1 about remote cluster 2.
    • Fix multicluster error message to give correct remote cluster.
    • Adjust GPFS-MIB.txt due to changes in the cluster configuration class.
    • Avoid kernel exception when allocating LLOpenFile ojects from the shared segment.
    • Prevent multiple mmchmgr -c commands from running simulatenously.
    • Fix log assert during stripe group take over.
    • Fixed a race condition between sync and create snapshot operations.
    • Fix rare deadlock between mmchmgr -c and quorum loss.
    • Change mmexpelnode to allow unexpell of all expelled nodes in the cluster.
    • Fix a problem in restripe of snapshot copies of fileset metadata files.
    • Correct non-root user handling of tsfsattr return code if kernel extension already set errno.
    • Keep quotas current if replication changed by restripe.
    • Improve monitoring of network components and recovery times for CNFS failures.
    • Fix segmentation violation encountered during command 'mmfsadm dump all' or daemon crash.
    • This update addresses the following APARs: IZ44952 IZ47466 IZ47467 IZ47468 IZ47757.

    Problems fixed in GPFS 3.2.1.10 [March 12, 2009]

    • Verify that intermediate versions of /etc/filesystems and /etc/fstab are not empty.
    • Strengthen input specification checking for the mmfileid command.
    • Fixed output of 'tslsfs -Y' for maxExpectedDiskI/OLatency.
    • Ensure that mmchconfig release=LATEST removes the old maxFeatureLevelAllowed value.
    • Fix log recovery in a rare situation arising when a node fails just after disk failure in a stripe group with replicated metadata.
    • Fix for mmmount to attempt mounting remote file systems when the node is in arbitrating state.
    • Fixed issue processing error signals on Windows which could have lead to a secondary problem when processing the error.
    • Explicitly set the mode of the intermidiate SSL key files.
    • Fix cases where mmpmon may not recognize certain host names in certain configurations.
    • Cap maxBufferDesc at 10*maxFilesToCache.
    • AIX errno improperly translated by Linux node resulting in misleading message.
    • Fix for a spurious abnormal shutdown following stripe group manager resignation in complex failure scenarios.
    • Small files already premigrated were not subject to EXTERNAL POOL migration.
    • Change wording of unknown column reference error message in mmapplypolicy.
    • Fix rare deadlock that occurs if a node reboots multiple times during the join protocol.
    • Allow running with nsdMaxWorkerThreads set to 512 on AIX.
    • Fix hard hang in IO code path.
    • Correct problem with migrate for files in metadata only system pool.
    • Fix mmapplypolicy display of ATIME error if time was 00:00:00 1/1/1970 GMT.
    • Add statistics for LIST, EXTERNAL LIST, and EXTERNAL POOL Rules on mmchpolicy and mmapplypolicy commands.
    • Fixed fsck to update the stripegroup descriptor if it fixed a fatally flawed quota inode.
    • Calculate the available pagepool memory in 64 bit to prevent integer overflow.
    • Reset pathname buff size in gpfs_get_pathname_from_fssnaphandle, it will enable user permission check.
    • Fix segment fault with NULL check in gpfs_get_fsname_from_fssnaphandle and gpfs_get_snapname_from_fssnaphandle xerror.
    • Fix rare deadlock that occurs during a quorum loss if a message is pending to self.
    • Calculate index into the subblock map based on the subblocks per region for the pool currently being scanned.
    • Add validity check for array index in mmlsattr.
    • Print quota initialization problem in console log.
    • Fix restripe code to honor replication policy setting in deciding whether an error has occured.
    • Apply CIFS persistent information after every successful GPFS mount.
    • Fix rare segmentation violation that occurs if filesystem panics under heavy stress.
    • Fix for a log recovery problem after an interrupted mmdelsnapshot command.
    • Fix fsck to print the right message when user declines to fix a compare mismatch error.
    • Fix a memory leak in mmlinkfileset command.
    • Fix reference to freed memory after RPC send timeout when using a secure connection.
    • Post a CcPurgeCacheSection in the revoke/callback codepath to a worker thread when a CIFS client is active, since the CIFS client holds the Cc locks and is blocked on the revoke to complete.
    • Change the data type of st_size in stat64_user32 and stat64_user64 to be Int64.
    • Fix a conditional check that allowed greater than 255 character snapshot name.
    • Fix problem that trace report can not be more than 2G bytes on 32-bit Linux nodes.
    • Change return code of mmchmgr -c to be consistant with mmchmgr.
    • Fix a timing related bug with mmchmgr -c waiting forever.
    • Fix rare incomplete shutdown on Linux.
    • This update addresses the following APARs: IZ42315 IZ44240 IZ44271 IZ44272 IZ44273 IZ44274.

    Problems fixed in GPFS 3.2.1.9 [February 2, 2009]

    • Correct problem with sendfile on Linux.
    • Faster cluster manager takeover when tiebreaker disks are used.
    • Add a wait option to mmexpelnode; when specified the command will wait until after failure recovery for the expelled node(s) has completed before it returns.
    • Modified method of exporting node failure/recovery events so only the configuration manager exports them.
    • Prevent rare crash when recovering from failure of another node.
    • Correct error if -V option on mmlsmount is not issued from command line.
    • Correctly gather trace reports.
    • Send mmshutdown error output to /dev/null not /dev/name.
    • E_NOENT from kxCommonReclock on an unlock panic's the filesystem.
    • Fixed /bin/pwd output on AIX NFS server.
    • Correct err 107 on large directories that can't be cached.
    • Fix deadlock caused by race condition when adding nodes to mmpmon node list.
    • Correct cleanup of new pool if FS manager dies during allocation of the pool allocation map.
    • Remove leftover respawn log files.
    • Prevent extremely rare mkdir failure that corrupts the directory.
    • Prevent mmdf command killing the GPFS daemon when working with a filesystem created before GPFS release 3.1.
    • Fixed a sigsegv during offline mmcheckquota.
    • Replace ksh93 format of for loop to work with older versions of ksh.
    • Remote nodes should not participate in pit job and fsck.
    • Correct install failures if residual files from a previous GPFS install are not completely removed.
    • Fixed problem referencing snapshots by the "latest name" established by mmsnaplatest.
    • Fixed problem with "SNAPID" in a policy rule file.
    • Add missing block size values to mmcrfs error message 6027-1060.
    • gpfs_get_winattrs on the .shapshots dir failed.
    • Fix the Windows fcntl revoke handler to properly hold the inode till an unlock is called.
    • Fix assert that occurs if fsmgr moves while handling dmapi mount event.
    • Fix mmchattr to use the stat64 structure to avoid errors on really large files.
    • Prevent process group pid (0) termination within signal handler.
    • Fix segfault in "mmfsadm dump" debugging facility.
    • Remove a spurious libstdc++.so dependency from Linux versions of libgpfs.so and libdmapi.so.
    • Closed window where multiple nodes concurrently writing small amounts of data at the beginning of an empty file could cause gpfs to fail on one of the nodes.
    • Convert MDL writes to write-thru mode. Route MDL writes to regular cached writes.
    • This update addresses the following APARs: IZ41028 IZ41182 IZ41185.

    Problems fixed in GPFS 3.2.1.8 [December 11, 2008]

    • Do not start GPFS if the gpfsready user exit returns non-zero and the verifyGpfsReady configuration parameter is set to yes.
    • Performance improvement for multi-threaded read-only workloads.
    • Performance improvement by disabling the pthread cancellation service at daemon startup on all platforms.
    • Explicitly initialize the exception table for the x86_64 platform.
    • Improved recovery after certain rare forced unmount events.
    • Improved detection of corrupted directories caused by disk failure.
    • Fixed memory leak when TCP connections are established between GPFS daemons.
    • Enabled tsmigrated to run on clmgr node.
    • Improved behavior during local disk failure to only cause local filesystem force unmount instead of unmount on all nodes.
    • cNFS Grace period fix for multiple failures.
    • Increased size of largest lun that can be added to the file system to 8x the largest lun used to create it.
    • Allowed mmlsfileset and mmlspolicy to execute concurrently.
    • Set xattr must set the xattr file length on the local cached xattr file even if it didn't allocate the inode.
    • Improved performance when creating small files.
    • Corrected size_t arg in kxGetRealFileName.
    • Fixed cxiStartIO NULL ptr when a disk fails.
    • Reduced SMP locking contention in certain read/write code paths.
    • Updated message that is issued when there is an attempt to validate or install a policy on external pool.
    • Forced contact of all CNFS nodes in the cluster if the recovery state is missing for current recovery node; don't start CNFS monitor if it is already running.
    • Fixed race condition in mmcheckquota command.
    • Fixed for a rare race condition on Linux during GPFS shutdown that can cause an oops with do_lookup on the stack.
    • Fixed rare alloc thread deadlock when a node is under pressure.
    • Ensured that mmshutdown is not run from a GPFS directory.
    • Fixed handling of mixed case device names on Windows.
    • Allowed nsdMaxWorkerThreads of 512 on AIX; previous max was 128.
    • dm_handle_to_path() will match inode, generation and snapID number.
    • Prevented cleanup to be called for an allocated but not yet initialized Sc node. This can happen if cxiSetOSNodeType() is not called for an allocated gnP because of a daemon error during recovery.
    • Improved mmapplypolicy error reporting to accurately note error.
    • Fixed spurious failures of GPFS commands when kernel.max_pid is set to a higher-than-default value on certain 64-bit Linux kernels.
    • Fixed the handling of long device names (>214 chars).
    • Fixed the handling of newly named recycle bin folder on Windows 2008.
    • Fixed problem reading extended attributes from a newly created file could sometimes return old attributes of a deleted file.
    • Use new mutex to serialize IP address in user exit script list.
    • Fixed the error code returned by GPFS on Windows 2008 during overwrite of a memory mapped file.
    • Allowed mmchfs to set the estimated number of nodes for a filesystem. This will only affect new pools created after the change.
    • Forced reboot of node after portmap daemon failure.
    • Fail cNFS node if shared root directory is not available.
    • Added new --once and --is-fenced option to the mmexpelnode command.
    • Fixed race condion in directio write path.
    • Minor change to fix bug in code that processes and returns a files attributes.
    • Avoided rare hang during concurrent updates to a shared directory.
    • Fixed filesize inconsistency on AIX when doing stat in 32bit application on 64bit kernel.
    • Changed cluster configuration dmapiDataEventRetry, use number to fine tune the behavior.
    • libgpfs_gpl merged into libgpfs. gpfs_gpl.h merged into gpfs.h
    • Fixed mmap code that fixes close errors when compiling in GPFS.
    • Make char device immediately available after mknod completes.
    • Fixed assert following quorum loss when token revoke RPC to self is active.
    • Properly cleanup filesystem having inodes with fatal errors.
    • Fixed mmcrfs to allow it to complete with -n 8192 parameter.
    • Fixed problem with loss of cluster membership when connection is reset.
    • Fixed mmapplypolicy processing rules of form "LIST ... FROM POOL".
    • Fixed segmentation fault in trace statement when sending a reply to self.
    • Fixed the handling of unaligned byte ranges during direct I/O on Windows 2008.
    • Fixed pagepool size accounting after reducing pagepool size.
    • Fixed gpfs_quotactl to work with remote file systems.
    • gpfs_get_winattrs returning GPFS_WINATTR_NORMAL to smbd erroneously.
    • On Windows, allocate resource waiter structures from heap instead of placing them on the stack since the stack addresses are not addressable by other threads.
    • Fixed potential memory corruption for dm_find_eventmsg() .
    • Corrected spelling in externalized constant GPFS_SLITE_EXACT_BITS.
    • This update addresses the following APARs: IZ35703 IZ36685 IZ37398 IZ37419 IZ37689 IZ37691.

    Problems fixed in GPFS 3.2.1.7 [October 23, 2008]

    • Added -N option to mmfileid to limit the nodes used as workers.
    • Fixed problem in "mmrestripefs -b" so it would properly rebalance the file system.
    • Fixed st_blksize field in stat system call to return the true block size rather than always returning 4096, on recent Linux kernel versions.
    • Fixed problem where mmrestorefs could set incorrect file size for a file that was appended to since the snapshot being restored was created.
    • Allow pagepools greater than 2G.
    • Allow cNFS to be enabled if IP is 0.
    • Added get_name() export operation for Linux.
    • Corrected CNFS grace period problems.
    • Always use /bin/ksh to start mm commands on remote nodes.
    • Fixed system hang problem when disks are almost full.
    • Fixed case where trace report file exceeds 2G on 32-bit Linux.
    • Fixed loader problems due to shmat when trying to load from gpfs filesystem.
    • Corrected CNFS exclusive lock failover.
    • Keep only the 10 most recent system map files.
    • mmlsfs -o should show rw or ro if they are explicitly set with the mmchfs -o option.
    • Fixed sigsegv in ibv_create_qp due to port down condition.
    • Do not allow mmchcluster -r /bin/rsh if there are Windows nodes in the cluster.
    • Fixed an ibv_modify_qp error for state IBV_QP_RTR.
    • Reserved one special worker thread for dmapi use only. When worker1Threads is set to N, GPFS create N+1 worker threads to use.
    • Fixed rename, remove and rmdir cmds to do a caseless search of destination filename.
    • Fixed to prevent long waiters after strip group panic in the middle of recovery log operation.
    • Fixed mmchmgr hang.
    • Fixed deadlock after running mmapplypolicy following problem deleting a storage pool.
    • locks_remove_flock BUG call on SLES 10 SP2, or 2.6.18 kernels.
    • Fixed RDMA connection establishment to remote clusters.
    • Prevented hang during node start in a rare case due to uninitialized field.
    • Fixed assert "!kprocsRunning".
    • Avoid rare hang during concurrent updates to a shared directory.
    • Fixed a quotas assert in SetAllocationSize.
    • Correct the daemon down test when a single node is involved.
    • When checking space utilization, use df -P.
    • Workaround fix for assert failure "!ofP->desroyOnLastClose".
    • Corrected the handling of node names that contain the dash character.
    • Reduce unnecessary mmfsck error messages or assertion failures when inodes are corrupted in multiple ways.
    • Null pointer dereference in cxiRefOSNode when nfsWatchKproc closes a file after unmount.
    • Limit mmlsattr and mmchattr to work only on regular files or directories.
    • On Linux, tolerate a non-default setting of kernel.pid_max.
    • Linux kernel 2.6.27 support.
    • Fixed race condition writing the SGDesc to disk leading to inconsistent versions.
    • Fixed Make_wstring() function to allocate a large enough buffer.
    • Identifies if the inode is fatally flawed with bad indirection level or bad indirection block and queries the user for deletion of the inode.
    • Obtain the StripeGroup Descriptor mutex to prevent race conditions in writing the StripeGroup descriptor to the disk. This avoids any inconsistency in the StripeGroup descriptor version number on the disk.
    • This update addresses the following APARs: IZ28022 IZ32767 IZ32780.

    Problems fixed in GPFS 3.2.1.6 [September 11, 2008]

    • Fixed getcwd returning ENOENT on Linux.
    • Fixed crash and data corruption in mmap.
    • Prevented assert in certain cases after forced unmount during concurrent creates or deletes in a shared directory.
    • Small pagepool size coupled with large maxblocksize was causing a indefinite loop at startup of mmfsd daemon. Now mmfsd will fail after throwing proper error instead of looping.
    • Fixed utilities tsreaddir, tsfindinode, and tsbackup to continue filesystem directory scan even if there are errors.
    • Enabled mmsdrrestore to work on multiple nodes.
    • Fixed rare race condition between sg_mount and SFSDoDeferredDeletions while creating new log file.
    • Fixed case where special characters(colons) in mountpoints would cause mount to fail.
    • Allowed mmaddnode to proceed even if there are files from a previous unsuccessful attempt.
    • Eliminated a rare assert when mounting a filesystem after deleting a disk that was added since the last filesystem mount.
    • Prevented assert in certain cases during heavy load doing concurrent creates or deletes in a shared directory.
    • Implemented mmgetstate -Y option to print output in a colon separated display.
    • Fixed endless loop trying to remount a filesystem from a remote cluster when the home cluster loses quorum in the middle of a join protocol.
    • Added more descriptive error message when NSD buffer allocation fails during mmfsd startup. A pagepool value has also been suggested as part of the error message.
    • Improved performance of multi-node writer test on existing file.
    • Improved performance of the file close path when multiple instances of a file are open.
    • In a cluster with only a single quorum node, remove extraneous messages in /var/adm/ras/mmfs.log.latest indicating "Lease is overdue. Probing cluster".
    • Fixed assert in dmapi msg handlers when sending an rpc to sgmgr due to bad sgInfo.mgr field
    • VM_IO flag has been masked off in GPFS mmap code to allow parent process to ptrace its child process.
    • mmdumpkthreads has been modified to work on x86_64. Read code has been changed to take account of fact that text/data segment of Linux kernel on x86_64 is not part of linearly mapped region.
    • Fixed msync EIO failure.
    • Disabled GPFS case-insensitive lookup on Samba filesystem.
    • Fixed to prevent deadlock if no free log buffers available during force write of recovery log to disk.
    • Fixed a problem where a large number of threads deleting files could cause a deadlock under stress.
    • Fixed rare race condition between early msgs and group protocol that occur during random node failures.
    • Changed the way minReleaseLevel is calculated.
    • Prevented deadlock under memory stress when restriping filesystem.
    • Fixed signal 11 when deleting or renaming a filesystem with NFS locks active.
    • Fixed assert by sync thread while releasing token on open file on Linux.
    • Call "mmremote cleanupDaemon" instead of "mmfsadm cleanup" to perform proper cleanup when mmumount is forced on a CNFS-enabled node without stopping CNFS first.
    • If the mode of mmpolicy command is not verbose, ignore initial blank lines from the policy file and print out meaningful output.
    • Fixed a print format in "mmfsadm dump pit" to avoid possible buffer overflow.
    • Fixed potential gpfs gpl layer compilation errors in 3.2.1-4.
    • Clear bigger NFS filehandle size area on AIX 6.1 NFS servers in order to prevent /bin/pwd command output problem.
    • Allowed 3.2 nodes to remote mount fs from 3.1 cluster even when persistent reserve is enabled.
    • Fixed hang in join protocol in some cases where a node restarts and connects again before the node it is connecting to realizes the connection was lost.
    • Fixed possible endless loop in socket receive under heavy communications load.
    • Fixed mmchconfig to verify that pagepool is at least 4M.
    • Fixed incorrect data returned from disk read from an NSD server following a TCP connection break and reconnect.
    • Fixed rereadSGDesc to skip reading invalid disk structures in the descriptor.
    • This update addresses the following APARs: IZ28046 IZ28595 IZ31296.

    Problems fixed in GPFS 3.2.1.4 [July 17, 2008]

    • Fixed hang in pit recovery during node recovery.
    • Fixed a condition that caused clean buffer threads wait for file system descriptor update but the file system is panicked.
    • Fixed problem where gpfs is looping getting free buffer descriptor.
    • Fix for a rare deadlock during token recovery when multiple file systems are going through recovery simultaneously.
    • Fixed lost membership issue when quorum designation changes while using tiebreaker disks.
    • Samba instantiated case-insensitive dentries remain after file is deleted.
    • Fixed deadlock in mmap page write trying to make indirect block valid.
    • Fixed remote node recovery being impacted due to local recovery problems.
    • Fixed mount hang, after fs panic and mmchmgr -c.
    • Fixed potential deadlock for dmapi respond event, when commiuncation between session node and event node is broken.
    • Fix segmentation violation if socket reconnection occurs while a resendable RPC transmission is in progress.
    • Unable to access GPFS files via SoFS due to bad cxiIsSuperUser check.
    • Fixed problem where STM_Migrate returns during an iterator loop without calling LastObj to detach.
    • Fixed assert (advObjP == ofP->advLkObjP) when state not cleared on last close.
    • Fixed a too strict assert in GPFS socket connection path.
    • Fixed problem during write operation when checking dmapi disposition change.
    • Fixed mmchmgr -c to assign a new target if the specified targetnode failed to takeover.
    • Fixed writebehindActive assert after I/O errors caused SG panic.
    • Allowed max shared segment size to be up to 2G on AIX 64-bit.
    • Fixed kernel seg fault when doing mkdir on AIX 6.1 systems.
    • Fixed race condition between mmchmgr -c and quorum loss thread.
    • Fixed a problem which occurs when using mmimportfs to import an older filsystem where the cluster type was of type "SP".
    • Exception table feature of Linux kernel 2.6 is being used so that kernel does not raise Oops and continues execution in normal way if it encounters a soft page fault while accessing a particular memory region in GPFS.
    • Fixed problem in locating free space on newly added disks.
    • Improved performance of restoring sparse files when using mmrestorefs of a previous snapshot.
    • This update addresses the following APARs: IZ24951 IZ25168.

    Problems fixed in GPFS 3.2.1.3 [June 16, 2008]

    • Additional error checking for mmchnode. This fix will prevent the customer from inadvertently rendering their nodes useless especially when changing the admin/daemon interfaces.
    • Fixed mmfsck to safely check a directory with corrupt entries.
    • Fixed unmount code to clear stalled mount flags.
    • Correct space error conditions from mmrpldisk command.
    • Fixed segfault that may occur in unusual circumstances while collecting debug dump data.
    • Fixed assert during token cleanup or token migration because it could not release some tokens due to tRefCount.
    • Fixed deadlock in snapshot commands if they are invoked in a narrow time window during which mmfsck is finishing.
    • Fixed "findSock(socket) == NULL" assertion failure that can happen if mmsdrcli getObj is run while the tsnsdaccess or tsnsddiscover command is finishing.
    • Fixed the mmputacl/mmeditacl commands which when used on NFSV4 acls would not accept user and group names with a space character in between.
    • Fixed racing problem of reading/write file and migrating the file for HSM.
    • Fix for a rare failed assertion condition following asynchronous recovery on Linux after an interrupted deletion of a file open on multiple nodes.
    • Fix a situation that prevents cleaning up of an almost-completely deleted snapshot if the daemon fails during a narrow time window.
    • Fixed race condition dealing with socket reconnects.
    • Correct parsing of names, to properly reject the backslash character.
    • Prevent rare assert when using mmrestripefs on a busy filesystem.
    • Avoid rare assert after forced unmount during heavy load.
    • Fixed race condition between mmchdisk cmd and i/o to the disk being stopped.
    • GPFS configuration option to disable case-insensitive Samba lookups.
    • Fix race condition, where after some transient errors that caused a file system to become temporarily unavailable, subsequently issued gpfs commands could hang ("waiting for SG cleanup") .
    • Fix a small window, where transient errors during log recovery could cause some recently forced log records to be lost, potentially leading to file system corruption.
    • Fix error when deallocating low-level files after running out of space.
    • Cancel the unmout if the preunmount exit returns nonzero and -f is not specified.
    • Fixed a problem where deleting or renaming a file system could cause deadlock if a new file system is created using the old name.
    • Fixed listing of .snapshots dir, when readdir is called with small buffer.
    • Fix for an oops in cxiRegisterCleanup during GPFS startup on Xen kernels.
    • Export user provided environment variables prior to starting the main GPFS daemon.
    • Fixed slow memory leak in a cluster with a high rate of broadcast RPCs.
    • Fixed thread allocation for receivers, affects systems with large number of cpus like 512.
    • Fixed segmentation fault due to sockets being migrated during node recovery.
    • Fixed a window where a combination of node failures and transient file system errors could cause file system corruption.
    • Un-initialized file pointer (fl_file) passed to posix_lock_test.
    • If -N is explicitly specified on the gpfs.snap command, do not assume -a as well.
    • Fixed problem where AIX/NFS client gets EACCES on a blocking advisory lock call (it should block).
    • Prevent data corruption in rare conditions following a forced unmount due to disk failure.
    • Fixed a window where a combination of node failures and transient file system errors could cause file system corruption.
    • Fixed missing cxiBlockingMutexTerm calls in advisory locking paths.
    • Fixed SEGV when accessing unintialized buf pointer after getData().
    • The mmgetacl command should display inherrited FileInherit ACEs as InheritOnly for directories.
    • In a CNFS cluster; cancel the unmout if the preunmount exit returns nonzero and -f is not specified.
    • Fix for an assert during mount on systems with multiple file systems and a small pagepool.
    • Fixed possible lost update of quota shares if quota manager is changed before the update is saved to quota file.
    • When using mmapplypolicy with the "-N all" parallel execution option, you may get more even load balancing with this PTF applied.
    • The mmfsck command with -c option reports spurious CmpMismatch errors for directories on large block filesystems.
    • Fix adding quorum nodes when there are tiebreaker disks.
    • NFSv4 ACL assignment were not generating DMAPI POSTPERMCHNAGE events.
    • Fix rare assert that occurs during disk i/o failures.
    • Fix rare deadlock that occurs during nsd server failures along with disk failures.
    • Speed up failure recovery and election of a new cluster manager in the case where the GPFS daemon fails on the cluster manager node, but the node is still pingable.
    • Add additional connection related messages to mmfs.log.latest.
    • Fixed a problem in dmapi call of dm_remove_dmattr() when it is called on a file with no dmapi attributes.
    • Fixed mmap data corruption.
    • Improved checking on block allocation to avoid potential data corruption.
    • This update addresses the following APAR: IZ22023.

    Problems fixed in GPFS 3.2.1.2 [April 24, 2008]

    • Enhance mmrestripefs -r to dissolve unused and ill-replicated log groups in metadata replicated file systems.
    • Fixed rare deadlock between sg panic due to disk failures and recovery.
    • Fixed assert during clmgr election when using tiebreaker disks.
    • Fixed a rare Linux kernel oops in internalSignal when kernel is under memory pressure.
    • Performance improvements for extended attributes including dmapi attributes.
    • Fixed an assert caused by the incomplete cleanup of a failed mmdelsnapshot command.
    • Fixed assertion triggered when attempting to obtain a mutex with SNMP support is enabled.
    • Foxed an assert due to a race between mmchmgr -c and a group protocol.
    • Fixed an assert due to node failure while transferring tokens.
    • Fixed a problem in dm_get_dmattr prefetch code.
    • Correct EAGAIN error and break lease processing.
    • Correct assert when unmounting a dmapi enabled fs from a remote node.
    • Fixed problem where an operation initiating a samba lease break was wrongly returning EBUSY.
    • Fixed possible communications hang following quorum loss if quorum is re-established too quickly.
    • Fixed a rare deadlock between quota client and file system sync when the file system manager fails.
    • Fixed mmdeldisk to migrate all directories off the disk being deleted, even if the directory has invalid blocks.
    • Fixed assertion failure when migrating logs off a disk being deleted without having suspended the disk previously.
    • Fixed assert due to sockets being migrated during node recovery.
    • Fixed problem, which under certain stress workload, could cause a deadlock with a long waiter "change_lock_shark waiting to set acquirePending flag" on one of the nodes.
    • Fixed Linux kmalloc memory leak found during POSIX fcntl lock test.
    • Fixed a problem where a combination of node failures and I/O errors could lead to deadlock.
    • Fixed a problem with GPFS self extractor.
    • Fixed a problem with missing hardlinks for pre-3.2 to 3.2 upgrade on Linux.
    • Fixed assert during high level of Samba lease breaks.
    • Display the generic error message at the end of mmgetstate only if -v is specified.
    • Changed the return code of function dm_get_dmattr(). Return EBUSY when the file system is not available, return EBADF for other abnormal condition. This is different from the DMAPI standard.
    • Fixed a problem where a combination of node failures and I/O errors could lead to deadlock.
    • Allow samba setattr call when the only conflicting lease is held by smbd.
    • Fixed gpfs.snap to handle df output when the filesystem name is long.
    • Prevent a deadlock during cleanup in some cases after multiple failures cause the stripe group manager to resign.
    • Fixed tssetquota command permission.
    • Fixed mmnsddiscover to rediscover the disk after fixing disk path problems.
    • Avoid an intermittent crash when mmchfs sets the metadata replication above the number of available disk failure groups.
    • Correct a problem with the mmchnode --daemon-interface option.
    • Fixed disk rediscovery code path driven after fixing disk failure.
    • Fixed rare clmgr election problem seen while using tiebreaker disks.
    • Correct umask in gpfs.snap.
    • mmchnode should ensure a maximum of eight quorum nodes if tiebreaker disks are used.
    • Reduce impact on applications while mmrestripefs, mmdeldisk, or mmchdisk start are running.
    • Fixed assert due to sockets being migrated during node recovery.
    • Show system information in mmfsadm dump version.
    • Fixed a rare deadlock during multiple server & disk failures.
    • Fixed possible assertion failure in the (very unlikely) case that an FIOASYNCQX ioctl or kxEpollAdd call fails for a new connection.
    • Avoid a rare hang following forced unmount due to disk failure when a single stripe group is mounted.
    • Fixed LOGSHUTDOWN errors from epoll failures to print a real error value rather than always reporting ENOMEM.
    • Correct a faulty input parameter check with the mmchnode --cnfs-groupid option.
    • On AIX, look for the opessl command first in /usr/bin and if it is not found there, try /opt/freeware/bin/openssl.
    • Changed configuration enableLowSpaceEvents default value from yes to no. In this way, existing customers like TSM do not need to change anything. Customers who wants to use tsmigrated feature need to change this configuration to yes via the command "mmchconfig enableLowSpaceEvents=yes".
    • Fixed file system corruption problem when using snapshots on a dmapi enabled file system.
    • Fixed problem in executing parallel utilities on a 2 node cluster, where non-manager node fails on its last work item after the manager node has completed all other items.
    • This update addresses the following APARs: IZ18643 IZ18724.

    Problems fixed in GPFS 3.2.1.1 [March 17, 2008]

    • Fixed mmrepquota to not disply quota information for non-existing filesets.
    • Improve command usage of mmdefedquota.
    • Fixed Null pointer dereference in posix_locks_deadlock.
    • Fixed BUG() call in locks_remove_flock.
    • Fixed quiesce ops hang indefinitely after a filesystem panic.
    • Fixed problem with file system running out of metadata space.
    • Fixed a problem where kxRetryRecover returns E_RESTART and leaves fcntl sleepers permanently waiting for tokens.
    • Fixed a rare race condition that could cause livelock in a multicluster environment during a metanode token request.
    • Improve an error message in mmcheckquota.
    • Do not hang on mmfsadm dump all if Events Exporter list mutex is stuck.
    • Minor performance enhancement to mmapplypolicy.
    • Fixed a deadlock that could occur in either mmpmon or SNMP support.
    • Fixed code for the api gpfs_getpoolname so that it runs properly in 32bit applications with 64bit gpfs on the x86_64 platform.
    • Do not use the result from hostname for gpfs.snap; use the defined admin interface instead.
    • Fixed a problem with gpfs_prealloc when not all data disks are available.
    • Fixed a kernel panic following mmchfs -V on a mounted pre-3.1 filesystem.
    • Fixed a problem in dm_get_dirattrs reading past end of directory.
    • Suppress warning about lack of dynamic grace period support in the kernel. Since current distributions do not allow setting grace period dynamically without a kernel patch that's not absolutely required for CNFS, this warning message could be misunderstood to mean reduced CNFS functionality.
    • No CNFS action needs to be taken for non NFS-exported filesystems being umounted using mmumount.
    • Add test for SLES10 SP2 for the new statfs interface.
    • Fixed a failed assert after mmcrsnapshot and mmchmgr have been run.
    • Fixed a tscomm deadlock caused by serverSideRevoke code.
    • Fixed a problem with writing to a file using mmap when snapshots are used. The mmap code was incorrectly updating the file data in the snapshot, which sometimes caused assertion failures, but was incorrect in any case. Change the page fault handler to perform a copy-on-write check the first time a block is accessed.
    • Fix for several problems (forced unmounts and GPFS crashes) occuring after snapshot creation.
    • Fixed a problem where SOFS read of an offline file failed with EACCES.
    • Prevent DeadManSwitch timeout on a cluster with a single quorum node and a tiebreaker disk.
    • Fixed a problem so that 32bit inode scan api works properly with a 64bit GPFS Kernel.
    • Lift the no mounted file systems restriction when changing key files.
    • When calling preunmount, translate the all keyword to a list of devices.
    • Initialize the internal GPFS variables prior to the exportfs step.
    • Fixed isAlloc assert problem after doing mmcrsnapshot with newly truncated large files.
    • Fixed an assert caused by a race condition between snapshot deletion and recovery.
    • Fix for a race condition occurring after mmchmgr involving quota and snapshots code.
    • Fixed a race between unmount & fs recovery driven during node failure.
    • Fixed a deadlock in SGPanic waiting for recoverAllocManager to signal sgMgrOpEnd.
    • Fixed assertion triggered when attempting to obtain mutex with SNMP support is enabled.
    • Fixed mmrepquota so that it can run on mixed maintenance level environment.
    • Fixed deadlock when there are more HSM migrate or recall processes than worker1Threads/2.
    • Fixed problem where Samba access leads to NULL pointer dereference in DirSearch.
    • Fixed race between cluster manager election and node quorum designation when using minority quorum aka tiebreaker disks.
    • Addition of a new command, mmexpelnode, for expelling one or more nodes from a given cluster.
    • Fixed assert after doing mmchfs -V that upgrades filesystem from 2.3 level to 3.1 level which creates a new fileset quota file.
    • Fixed a problem in parallel traversal of inode file function when restarting a work item of a failed node.
    • Fixed a race condition where, after deleting a disk, creating or writing a new file could fail if snapshots are present.
    • Fixed an assert caused by a race condition in spooling log records and processing log wrap.
    • Fix for a spurious error during a restarted snapshot deletion command.
    • Fixed gn_filocks!=NULL error during vnodeReleInternal call during fcntl revoke.
    • Print a proper information message while trying to expel a cluster manager node.
    • Fixed auxData.synchedFSize >= 0 assertion.
    • Add protection so that dmapi session can recover safely.
    • Fixed problem where xmalloc debug reference to freed storage in Post routine's exit trace.
    • Complete server-side fcntl revoke, and reply to acquire message.
    • Fixed a performance problem with root user allocations when quotas in use.
    • Added new configuration paramenter dmapiMountEvent to control how dmapi MOUNT and PREUNMOUNT event is generated. Available values are all, SessionNode, LocalNode.
    • Prevent a hang in rare cases after disk failure, or other serious error, causes a stripe group panic.
    • Correct mmcommon on1long failure.
    • This update addresses the following APARs: IZ15189 IZ15197 IZ15429 IZ15497 IZ15520 IZ15521 IZ16153 IZ16367 IZ16455 IZ16456 IZ16457 IZ16458 IZ16484.

    Problems fixed in GPFS 3.2.0.3 [January 24, 2008]

    • Return a non-zero return code if mmchconfig results in only partial changes or no changes at all.
    • On Linux, fixed mmap deadlock scenario that occurs with high IO stress on files that are write mapped.
    • Avoid fcntl retry deadlock caused by token left in COPYSET.
    • Fix for an assert during fileset creation racing with recovery.
    • Enable the user to view the maximum size disk that can be added to the filesystem using the mmdf command.
    • The commands mmputacl/mmeditacl can now handle usernames/groupnames which have spaces in between them.
    • Ensure that the nfslock subsystem lock file in /var/lock/subsys is removed when the subsystem is stopped.
    • Change the check for server-side UID remapping script.
    • Fixed the problem where the file system runs out of metadata space.
    • Fixed for an assert during token recovery after a series of file system panics.
    • Fixed assert that happens when setting STF_DESIGNATED_MNODE.
    • Fix communications hang that happens in rare cases after a node restart.
    • Samba lookups should be case-insensitive.
    • Defined a GPFS generated error number in gpfs.h for gpfs_quotactl.
    • Fixed incorrect timeout calculation that could cause spurious quorum loss when using tiebreaker disk and one of the quorum nodes becomes disconnected.
    • Added config option "enableLowspaceEvents" to control starting of tsmigrated lowspace daemon. By default, option is set to "yes" and tsmigrated daemon is started. Set option to "no" and tsmigrated daemon will not be started the next time the cluster is restarted.
    • Removing last managed region on a dmapi managed file was causing other dmapi attributes for that file to be lost.
    • setid/sticky bits not set when chmod targets a file with nfs4 ACL.
    • Correct a problem with missing cluster names in mmlsmount -L output.
    • The command mmlsmount gracefully now exits with proper error message when executed on a node which is part of multicluster environment with remote filesystem mounted across cluster and one or more cluster are in arbitration state.
    • Fixed assertion error if socket breaks while non-blocking sender is waiting for outbound connect.
    • Fixed problem in mmfsck after it detects connection problem so that the following mmfsck attempt can continue.
    • Fixed gpfs_get_share to close fd on error case.
    • Fixed NFS access to .snapshots (previously returning E_STALE).
    • Correct problem mounting existing SANergy exportable filesystems on 3.2 nodes.
    • Correct a SIGSEGV problem with mmlsfileset -Y.
    • Fixed for a spurious lookup failure (ENOENT error) on Linux during parallel mkdir/rmdir operations.
    • Add test for SLES10 SP2 2.6.16 kernel for NFS locking support.
    • Fixed an incorrect DBGASSERT in buffer fetch flow control.
    • Fixed problems in handling file deletions in conjunction with remounts.
    • Fixed a window where a token server failure under high load could cause a kernel panic (assert: "get_obj_status() == LkObj::valid" in rdwr.C ...).
    • On AIX with RVSD, do not start GPFS if RVSD is down and wait4RVSD is set to no.
    • SOFS read of an offline file failed with EACCES.
    • Fixed communications hang that happens in rare cases after a node restart.
    • Fixed race conditon while aborting clmgr election due to tiebreaker disk failure.
    • Performance improvements to the inode scan.
    • Prefetching improvements in inode scan.
    • Fixed a deadlock when a regular file read is into a mapped page of the same file.
    • Fixed problem so that GPFS can restore files which were backed up using older PTFs.
    • If the limit on the number of open files per process is exceeded, shut down the daemon rather than going into an infinite loop attempting to accept a new connection.
    • Policy daemon program for nospace and lowspace was resetting dmapi event list on mount requests.
    • Prevent the corruption of permissions during file creation when create/delete operations happen from multiple nodes.
    • On Linux, fixed kernel oops that occurs when reading a file via sendfile when the file is opened for direct I/O.
    • Fixed a problem in dm_get_events() call so that it always returns the number of events that no more than maxmsgs specified.
    • Fixed for a kernel oops on Linux due to a race during file descriptor list expansion.
    • The new changes will enable the user to view the quota information for a filesystem in the colon format using the -Y option.
    • Fixed problem so that there has to be at least one user application registered for dmapi mount events in order to mount a dmapi enabled file system. Also fix problem of resuming a session after the gpfs daemon restarts.
    • This update addresses the following APARs: IZ08785 IZ09509 IZ09690 IZ09695 IZ09911 IZ09973 IZ09975 IZ09976 IZ11636 IZ11638 IZ11639 IZ11640 IZ11641 IZ11642 IZ11643 IZ11644 IZ11645 IZ11646 IZ11647 IZ11648 IZ12210 IZ12211 IZ12212 IZ12213 IZ12214 IZ12215 IZ12216 IZ12217 IZ12218 IZ12219 IZ12220 IZ12221 IZ12222 IZ12223 IZ12224 IZ12225 IZ12226 IZ12227 IZ12228 IZ12229 IZ12364 IZ12365 IZ12368 IZ12369 IZ12372 IZ12373 IZ12374 IZ12375 IZ12376 IZ12377 IZ13083.

    Problems fixed in GPFS 3.2.0.2 [November 15, 2007]

    • Fixed problem adding disks between 1 TB and 2 TBs to gpfs filesystems on AIX.
    • Discover the correct disk size for AIX hard disks over 2 TB.
    • Fixed Linux oops storing an ACL into a "-k nfs4" filesystem.
    • Fixed bad trace backs on x86_64 nodes.
    • Improve performance of file tree traversal when most files have extended attributes like HSM migrated files.
    • Pool information was not always being deleted when the last disk deleted from the pool.
    • Allow mmchdisk and other commands to work on file systems in which all disks are suspended.
    • Fixed EOPNOTSUPP from gpfs_putacl into a "-k nfs4" filesystem on Linux.
    • Prevent mount from hanging when run following snapshot commands.
    • Fixed compiler warning in inode.c when compiling GPFS gpl.
    • Fixed error: Unable to write to GPFS via ppc64 Samba (libgpfs_gpl.so not found).
    • getNFS needs to get nfs_lock before clearing the vinfo pointer.
    • Remove temp backup file after a successful restore.
    • Ensure mmimportfs records all disk attributes in the config file.
    • Fileset's junction pathname can be displayed as "--" by mmlsfileset when a directory in the path was recently modified.
    • Fixed the handling of disk names with embedded blanks.
    • Prevent a rare assert caused by restriping actively modified files.
    • Fixed parsing of remote cluster contact names.
    • This update addresses the following APARs: IZ05802 IZ06367.

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

General Parallel File System

Reference #:

00000349

Modified date:

2010-11-05

Translate my page

Machine Translation

Content navigation