Unless specifically noted otherwise, this history of problems fixed for IBM Spectrum Scale 4.1.x applies for all supported platforms.
Problems fixed in IBM Spectrum Scale 4.1.1.11 [December 8, 2016]
- Fix FPO allocation code to prevent GPFS daemon assert that could occur when a locality group runs out of disk space.
- Remove a faulty Events Exporter assertion. The faulty assertion could cause the mmfsd daemon to fail in rare instances while generating an internal dump or responding to certain "mmfsadm saferdump" commands.
- Fix assert 'pStepReceiveP->phase == phase' that can occur when fsck is run in a tight loop.
- Fix assert exp(!ebP->replyDone) that can occur when DMAPI is being used.
- Fix slow offline fsck repair. Allow doDeferredDeletions() to cleanup afm pre-destroyed inodes in ex-afm filesets.
- Fix resync policy to make sure files with setuid bit are selected to be synced to home.
- Fix an issue in AFM environment where HSM migrated files at home are incorrectly brought into cache as fully sparse files. This causes data mismatch between cache and home.
- Fix the issue that 'mmbuildgpl' attempts to run 'depmod' against the currently running kernel instead of the one inside the xCAT postinstall chroot.
- Fix Renames clogging the AFM queue during recovery for IW filesets.
- Fix a deadlock that can occur during high volume file creations and deletions in a multi cluster environment.
- Fix offline fsck hitting assert itemP in pArray.C
- Handle upgrade of Windows node from 3.5 and 4.1 to 4.2 correctly.
- Honor parent folder's DELETE_CHILD right during rename operation from Windows node.
- Enable offline fsck to report replica mismatches.
- Fix a bug where offline fsck did not check for other good directory block replicas if the first replica was corrupt. This fix prevents losing the directory block in such situations and prevents data loss when running offline fsck repair.
- Return the correct errno when the number of open files exceed the maximum open file setting during open GPFS API applications.
- Fix resync thread not getting killed by deadlock detection code if it takes a long time to complete.
- Fix an assert on builds with DBGASSERT when dm_get_dmattr is called on files in a .snapshot directory.
- Fix the "FSErrBadDittoAddr" file system struct error that can happen on a clone child file.
- This update addresses the following APARs: IV90574 IV90598 IV90606 IV90608 IV90620 IV90629 IV90679 IV91155 IV91157 IV91328.
Problems fixed in IBM Spectrum Scale 4.1.1.10 [October 11, 2016]
- Fix a problem with choosing only fully cached files for Cache Eviction.
- Fix a SIGV problem when running mmdefrag on an FPO file system with trace enabled.
- Fix a remote mount failure that can happen if the cluster was previously added with incorrect contact nodes.
- Fix a race condition that could cause incorrect file sizes to be reported to the application. This only affect Linux and only when the application checks the file size right after the file size increased via writing past the end of the file.
- This fix will make sure the NFSv3 files are closed when using Ganesha.
- Fix a mmcrsnapshot command hang. This would only happen if a snapshot exists before and after the inode space expanded on a problem file system or fileset.
- Make GPFS work on Intel Broadwell CPU with kernel 3.7 or later.
- Fix an issue in AFM environment where fileset recovery causes gateway node to crash if recovery detects that the symlink have attribute(Example. chown -h user:name) changes.
- Fix a problem in which a recovery group failback to the primary node fails.
- This fix will make sure all different Ganesha up-calls are not dropped.
- When there are tons of users and groups intertwined with a lot of filesets with --perfileset-quota enabled this fix can improve the speed of mmcheckquota greatly.
- Fix a problem in which fcntl lock waiters are not resumed when a linux holder downgrades.
- If some physical disks in GPFS Native RAID (GNR) suffer a large number timeouts (very slow IOs), they should be declared "slow", drained and scheduled for replacement. This defect may have prevented them from being declared slow, meaning they will continue to lower performance and risk outages.
- Fix the "Assert on Structure Error on FileMetadata::getSnapDataBlockDiskAddr" when reading a clone child file from a snapshot file system. This issue only occurs on clone child files and only when the data of the clone child file is modified in the root file system after creating the snapshot.
- Fix the punch hole failure error number 760 on clone child files. This issue would only occur on clone child files.
- Fix a deadlock in the AFM environment during queue transfer when new gateway node joins the cluster.
- Fix a rare assert "isSGPanicked" in the Asynchronous Direct I/O code path.
- Fix code to prevent a potential GPFS daemon assert during file system restripe.
- Reduce ThreadStateMutex hold time in deadlock detection and waiter related functions to make GPFS run more smoothly.
- Fix a minor problem by not sending a delete snapshot request to secondary.
- Fix a problem with removes on silly renamed NFS files.
- Fix the "Node name is not valid" failure for mmrestorefs command.
- Fix a problem with re-prefetching immutable/appendOnly files.
- Fix the way error codes are being decoded and converted to AFM range from GPFS or system range.
- Fix a problem in which AFM does not honor async delay if softQMem threshold is set to 0.
- This update addresses the following APARs: IV89295 IV89297 IV89732 IV88301 IV88678 IV89280 IV89283 IV89860.
Problems fixed in IBM Spectrum Scale 4.1.1.9 [August 30, 2016]
- Remove a race condition which can cause a certain IO counter not to get updated and thus block file system panic processing which results in a hang.
- Fix code for handling mmfsctl suspend-write operations to prevent blocking of a close operation after reading a file or directory. This issue only affect nodes running AIX.
- Fix a deadlock that can occur in .shapshots directory of a fileset.
- Fix LROC related code to prevent possible GPFS daemon assert and false FSSTRUCT error.
- Correct missing entries in ".snapshots" directory of dependent fileset.
- Fix an assert that can occur during a Stripe Group panic.
- A new parameter has been added to the /var/mmfs/etc/expelnode callback script, which is invoked by the cluster manager when about to "expel" a node when one node cannot communicate with another. The parameter is set to "dryrun" when the script is not being invoked to make a decision on which node to expel. The parameter is set to "expel" when the exit value of the script is used to make the decision on which node to expel.
- Fix an assert that can occur during rapid repair.
- Fix an assert "fsdaP->getNValidAddrs() == nAllocated" which happens on FPO file system while doing fragment block allocation.
- Fix an assert that can occur during stripe group final cleanup and automated deadlock is active.
- Fix signal 11 caused by a very rare race between RG resign/relinquish and pdisk I/O activities.
- Fix race between fetch and log wrap thread that caused kernel assert.
- Fix a GNR server crash that can occur when a bunch of disks are being discovered.
- Avoid assert in fileset creation following an earlier failure due to low disk space.
- Allow GPFS on Windows to fetch IMU/RFC2307 mappings from a single alternate trusted domain.
- Fix offine fsck repair assert that can occur when a replicated file system has a disk in 'removing refs' state.
- Fix an issue in AFM environment where stress on fileset might cause memory usage to reach afmHardMemThreshold and subsequent queue drop might cause deadlock with incoming messages.
- Fix code that can cause GPFS daemon to report structure error assert on a FPO file system while doing snapshot data copy on write.
- Fix code to prevent possible GPFS daemon assert when adding new block to low level system file. This is most likely to occur when creating a new independent fileset using mmcrfileset command.
- Fix a problem that could result in a long waiter on gpdMutex. This can occur on a unstable cluster in which many nodes are being expelled.
- Fix a deadlock that can occur when prefetch recovery is happening and applications are trying to access the files in the fileset.
- Add support to allow mmchattr --delete-attr to be able to remove gpfs.BGF, gpfs.WAD or gpfs.WADFG.
- Fix a problem when both maxblocsize and scatterBufferSize are equal. The daemon asserts when the buffer memory usage is high.
- Fix an assert that was hit when running offline fsck for a file system that has one or more files with multiple trailing duplicate blocks.
- Fix informational messages from mmapplypolicy which contain "hit" counts for EXCLUDE rules, which were incorrectly reporting 0 when -N and -g options are used.
- Fix the clone parent files restore failure by revising the restore logic. This issue would only happen when the clone files need to be restored and the clone parent files have "immutable" attribute in restoring snapshot.
- Fix output for mmgetstate with -Y flag so that it matches GPFS documentation.
- Fix a problem in which GPFS commands may fail when public key are expired.
- Fix a possible segmentation fault in offline fsck during mutlipass dir scan. Multipass dir scan happens when there is insufficient memory to hold the fsck data structures required for dir scan phase.
- mmexportfs: Fix an issue where the file system exported but the output data file is missing.
- Fix the long waiter "InodeDeleteThread, 'waiting for XW lock'" caused by a self-deadlock issue, by correcting the release orders of GPFS file lock and Linux inode. This issue is Linux system only.
- Fix an issue in AFM environment where prefetch recovery could deadlock with an already running management program (ex. create snapshot).
- Add undocumented config parameter dataCollectionPendingDelay which controls how long we try to preserve the state of the world while collecting expel debug data. The code path is also optimized in general.
- Fix an issue in AFM environment where cache might read newly updated file incorrectly from home if the file size is more than 128MB and home is enabled for AFM. This happens when metadata of newly updated file is not yet committed to disk.
- Fix a problem in which resync is not able to push the file at cache to home, if the same file is modified at home over gpfs backend.
- Update log recovery code to better handle certain invalid data that could cause GPFS daemon to die with Signal 11. This change will allow offline mmfsck to run and fix the problem.
- Fix a mmbackup --rebuild failure to recreate a shadow DB on AIX 7.2.
- Fix an assert that can occur during a nfs read error of sparse info of a file using ctl interface.
- Fix a file authentication failure for AD with RFC2307 based ID mapping scheme with an AD domain having "-" in its name.
- Prevent command issues with disk balance option from running if the number of NSDs is more than 31 and the total number of PIT worker threads is more than 31. Affected commands are mmrestripefs -b, mmaddisk -r and mmdeldis -b.
- Fix an issue in AFM environment where application might get incorrect data if eviction and read is happening on same partially cached file.
- Fix a bug where mmchcluster may fail when run on a non-configure server to disable CCR.
- This fix will not show open files or directories that are renamed while they are open.
- This update addresses the following APARs: IV83274 IV83476 IV83899 IV85090 IV86157 IV87372 IV87385 IV87566 IV87567 IV87568 IV87569 IV87572 IV87573 IV87574 IV87601 IV87603 IV88299.
Problems fixed in IBM Spectrum Scale 4.1.1.8 [July 10, 2016]
- Fix assert "hasLoggedUpdate()" in repUpdate.C, line 1284 under stress workload.
- Fix problem where stress workload doing appends to a small file could cause kernel panic due to illegal pointer dereference.
- Fix a problem in which all CPUs hung on a file_lock_lock spinlock.
- Fix a data corruption issue that can occur after a successful mmrestorefs command completion.
- Fix an issue of getting incorrect data from the gpfs_ireadx() API. This issue only happens when using the mmrestorefs command and the gpfs_ireadx() API at the same time. This can occur on AIX and Linux systems.
- Fix Linux kernel asserts BUG_ON(page_mapped(page)) for GPFS file mmap.
- This issue is specific to GNR environment. It happens when a vdisk dump is issued before the RG is fully recovered after a mmfsd startup.
- Fix a problem in which the gateway node crashes when unmounting the FS. When this occurs the gateway node has to force unmount the FS.
- Fix a segmentation fault that can occur during file system panic processing.
- Fix an issue in the AFM DR environment where file lookup might cause the daemon to assert when the filesystem is already quiesced or suspended.
- Fix corruption which can occur when hawc is enabled and node failure is happening.
- Fix mmap page fault performance regression.
- Fix an issue in the AFM environment during gateway node startup where DR fileset activation for RPO snapshots might cause a deadlock.
- Fix a problem in buffer flushes that can cause a stale data buffer to be used for reads and writes after a Linux AIO write request was processed via a buffered I/O. This can only occur with AIO on Linux that is using the "io_submit" interface.
- Fix an issue in the AFM environment where recovery, resync and prefetch operations can fail because of large number of files to be queued.
- This fix is an improvement for mmap read SMP scalability.
- This fix will try to force through log recovery even when all stripes of a log home vdisk are marked stale (logically unreadable) in the metadata. This will only occur when run under debug control. This applies to GSS & ESS installations.
- This fix improves failure response when running helper node with too small a pagepool.
- Fix deadlock that can occur while calling fcntl with argument F_SETLEASE on Ubuntu 14.04.03.
- This fix correctly handles a write failure in the rare case where the number of pdisk faults exceed the fault-tolerance of the vdisk. This is seen in GSS & ESS installations.
- This fix will not let GPFS internal return codes be returned to Ganesha, it will be converted to an EIO rc. This will prevent a Ganesha crash.
- Fix a restore failure at the file moving phase when there is a very long file name in the file system and fileset.
- Fix mmgetacl on Windows to show valid instead of random ACL flags.
- Fix a segmentation fault that can occur when running the mmsetquota command. This issue would only happen when GPFS overwrite tracing is enabled on Linux.
- Fix a problem in which too much data is dumped when collecting data for deadlocks and expels. This was causing performance issues.
- Fix an issue in the AFM environment where cached bit is not set on files after reading from the home. This issue happens when the file modification times are not in sync between cache and home.
- Fix a problem in which old tiebreaker disks cannot be removed from the system.
- Fix a bug in mmremote to allow mmchconfig pagepool -i option to take affect immediately.
- Fix problem reading clone child via NFS fast read path.
- Fix a daemon crash that can occur while trying to execute a pcache command with maxThrottle set.
- Fix network communication problems that can occur when mmdiag --iohist and overload detection happen at the same time.
- Fix an alloc segment steal problem that can lead to more than 22 minutes of searching for a free buffer assert.
- Fix an issue in the AFM environment where filesets are moved to disconnected state because of a large number of filesets. This issue happens when socket descriptor values for home connection exceeds FD_SETSIZE(1024).
- Fix the random memory corruption and kernel crashes in the AFM environment which are likely to happen while deleting the non empty directory at home or secondary clusters.
- Fix for a spurious NSD RPC checksum error in GNR environments when processing a DIO workload with unstable IO buffers.
- GNR avoids reading from failing pdisks, by trying to reconstruct using parity/mirror. If reconstruct is not possible, then as a last resort, GNR reads from the failing pdisk. This will result in a lot less IO errors.
- Fix a problem in which the wrong errno was returned from dm_read_invis and dm_write_invis library functions in failure case.
- This fix enables UDEV_SUPPORT on all distributions.
- Fix a problem in which make Autoconfig fails after installing Ibm Spectrum Scale on the BlueGene IO node.
- Fix an assert on P7IH systems on which the recovery group was originally created under GPFS 3.4 when they try to upgrade to the current version. GSS and ESS customers are not affected by this change.
- Fix a mmdiscoverycomp failure that can occur if the cluster is configured to use different admin and daemon node names.
- Fix abnormal shutdown that can occur when trying to add back a node that has just been deleted.
- Fix a problem in QOS where skimperm bit calculation is incorrect when _skimf < 0.
- This update addresses the following APARs: IV83743 IV85083 IV85385 IV85409 IV85411 IV85418 IV85420 IV85421 IV85422 IV85426 IV85428 IV85429 IV85430 IV85432 IV85589 IV85590 IV85790 IV85862 IV85865 IV85866 IV86144 IV86153 IV86689 IV86701.
Problems fixed in IBM Spectrum Scale 4.1.1.7 [May 11, 2016]
- Fix fsck duplicate fragment problem report to be in a neater tabular format.
- Fix a rare fsck deadlock that can occur during fsck termination.
- Fix a bug that prevented offline fsck from reporting replica mismatches.
- Enable fsck to detect and repair duplicate sub-directory entries in a directory.
- Fix a problem with restripefs -R which was incorrectly setting the currentDataReplicas of logfiles.
- Fix a deadlock that can occur when FPO is enabled and a node's local stripe is panicked.
- Fix possible deadlock which occurs when a node loses quorum (cluster membership) because of a network adapter or network outage.
- Fix fsck handling of a compressed disk address.
- Fix a problem in which online replica compare reports a mismatches on the last block of an inode allocation map and a block allocation map file.
- Fix a hang that can happen when unmounting the filesystem.
- Fix a GPFS daemon abort that can occur when a GNR backup is performed and the server is down.
- Prevent GPFS daemon from asserting on Windows when collecting debug data on waiters.
- Fix a problem in which disable cluster CCR left an authorized_ccr_keys file behind which may cause a startup problem if cipherLists and or nistCompliance are changed.
- Fix an assert then can occur during online replica compare when the filesystem has different data / metadata buffer sizes.
- Fix a bug where offline fsck was not repairing some inode problems detected during dir scan phase.
- Fix a deadlock that can occur when NFS server/remote mount did not respond after doing AFM internal mount.
- Offline fsck in read-only mode will now warn about unavailable disks before scanning the file system.
- Allow mmchconfig to delete an empty nodeclass from the GPFS configuration node.
- Fix a daemon assert that can occur while doing prefetch reads along with readdir and lookup commands when the application nodes and the gateway nodes are the same.
- Fix a node crash that can occur during the recovery of another failed node if an EventsExporter "get nodes" request is issued at the same time.
- Fix an E_NOATTR link failure that can occur on a SW fileset while writing to a file and droppending and resync are being run.
- Fix autoload issues where GPFS may not come up on configure servers in a SERVER based cluster if files in /var/mmfs/gen/nodeFiles are missing.
- Fix a problem in which tsgescsiinfo reports invalid ESM information. This fix is required for all platforms. The condition seems to be SAS fabric related.
- Make a stuck tslsenclslot easier to diagnose
- Change mmbackup behavior when policy scan fails. Permit operation in a reduced-capacity to do backup and not expire when directory scan results are incomplete. When this happens, no expirations should be processed, just backup. Shadow DB lines for removed files should be left alone.
- Fix an issue where CES clients fail to connect after failover on Juniper switches.
- Fix unexpected empty CES IP configuration file.
- Lift restrictions on -B, --max-backup-count, and --max-expire-count
- The change ensures that the online replica compare does not throw false positive replica mismatches on files with last block being a sub-block.
- Install at your convenience, but especially if you have been adventurous trying unsupported QOS features on a 4.1.1 system. To use QOS feature, upgrade to 4.2 or higher. This disables QOS startup.
- Fix a kernel panic that can occur under a heavy write work load and a dying mmkproc thread.
- Fix a problem in which an amber disk "fault" light may remain on after temporary disk unavailability. The problem is specific to the 60 disk NetApp disk enclosure only.
- Fix memory tracking issue in AFM environment where gateway node memory usage appears like growing without any real memory leak. This causes replication to stop.
- Fixed an issue in AFM environment where random writes to same file causes memory leak after replication.
- Fix an issue in AFM environment where incorrect dependency causes resync to fail.
- If asynchronous NFS/NLM locking is used this fix will prevent potential kernel crash.
- Modification of ACLs via mmputacl or equivalent can render the ACL as missing on a GPFS Windows node.
- This update addresses the following APARs: IV81870 IV81877 IV83264 IV83271 IV84206 IV84251 IV84252 IV84253 IV84254 IV84255 IV84270 IV84428 IV84573 IV84574 IV84576.
Problems fixed in IBM Spectrum Scale 4.1.1.6 [March 31, 2016]
- Fix for an assert caused by an NSD being deleted and then quickly recreated
- Fix a cluster not being able to start when a node hosting LROC disks is not available.
- Fix a problem in which fsck incorrectly reports not enough memory available.
- Fix a problem in which fsck patchfile apply fails when it encounters a corrupted inode.
- Fix asserts on didEmpty and Signal 11 faults in delSnapshotEmpty that can occur during snapshot deletion.
- Fix AFM errors that can occur when writing to a large file during failover/resync.
- Fix a mmrestorefs assert which can occur during the delete clone file phase. The clone was left in a bad state during a force unlink of a fileset.
- Fix ENOENT failures that can occur during a snapshot restore and during iopen64 API calls.
- Fix a problem which may result in a daemon assert when running the mmcheckquota command and a snapshot is corrupted
- Fix an assert exp(ibdP->llfileP == this) that can occur during an offline fsck.
- Fix a daemon assert: (poolId != ((SGPoolId) -1)) in line 683 of FSTypes.h. The daemon assert could occur during mmrestripefile or mmchattr with -I yes after storage pool get deleted as part of running mmdeldisk with -p or -c option.
- Fix fsck repair of inode fullblocks field.
- Fix fsck handling of corrupt inode filesetId.
- Fix a deadlock that can occur during a failover while a HSM application is running.
- Fix assert exp(synched.isNULL()) that can occur during a high work load on a LROC disk.
- Fix a problem in which the GPFS/gskit installation process or various mm* administration commands can fail if Windows OS environment variables are changed in such a way that they do not exactly match the Windows installation directory name.
- Fix a problem that the primary RG server can't take back the RG after restoring pdisk paths, e.g. after cable pull, etc.
- Fix a problem in AFM environment where prefetch overwrites dirty files in local updates mode.
- Fix a MD5sum mismatch in data after resync operation which can occur if a resync, a touch, and a write all happens at the same time.* Fix a problem in which fsck wrongly reports holes in an ACL file.
- Fix a problem in AFM environment where large ACLs cannot be replicated because of buffer allocation issue.
- Fix a problem where gpfs_getacl returns a bad ACL entry when called with the GPFS_GETACL_STRUCT flag and acl_level GPFS_ACL_LEVEL_V4FLAGS.
- Fix a E_ROFS write error that can occur when you write over a clone file and make it a clone parent and then run recovery.
- To prevent confusion in messages between GNR, GSS, ESS products, and the GPFS file system metadata, the word "metadata" was removed from all GNR errors and log messages.
- Fix a deadlock in AFM environment where peer snapshot creation could deadlock with synchronous messages like (Lookup, Open, Read etc..). This can only occur if peer snapshots are enabled.
- Allow snapshots to be created while snapshots are being deleted.
- Fix a problem in AFM environment where replication would stop because of error while replaying Rename operation. AFM queue will be stuck state while replaying Rename operation and no new operations will be replicated.
- Fix an unexpected CES IP assignment and movement of CES nodes which are not ready to host CES IPs when the address distribution policy node-affinity is selected.
- Fix the deadlock in AFM environment where readdir results in deadlock under heavy stress over GPFS backend.
- Fix an gpfs.snap hang on an AFM node with stale NFS mounts.
- Fix a mmapplypolicy command fail when multiple commands are issued nearly simultaneously AND tscCmdPortRange has been configured in a SONAS environment.
- Fix a problem which stops autorecovery from being triggered if a node which has only dataAndMetadata disks is down.
- Fix a problem in which a Windows client lost view of ACLs in mixed Linux cluster.
- This update addresses the following APARs: IV78971 IV81342 IV81344 IV81347 IV81686 IV81873 IV81879 IV82179 IV82181 IV82182 IV82184 IV82238 IV82610 IV82637 IV83046 IV83110.
Problems fixed in IBM Spectrum Scale 4.1.1.5 [February 16, 2016]
- Fix an issue that could cause the GPFS daemon to abnormally terminate or that could cause the reporting of incorrect performance data when GPFS SNMP subagent, mmpmon, or zimon are utilized.
- Fix the code to build remote attributes during recovery when there is a version mismatch.
- Fix the SFSLink failure that can occur when files are created during failbacks.
- The performance of the daemon has been improved in the cases where the cipherList is set to a value other than 'empty' or AUTHONLY.
- Fix a quiesce assert that can occur when files are being recovered.
- Fix a problem that can occur when accessing files with managed regions.
- Fix a problem that can occur during clone operations.
- Fix a problem that file sizes were being set incorrectly on sparse files during failback.
- Fix a problem that can occur on a live file system that results in a deleted file still existing or a created file not existing after a snapshot restore.
- Fix a crash in msgMgrThreadBody that can occur during unmounting and unlinking filesets on a very busy system.
- Fix a problem where mmchfs -z, -Q or --perfileset-quota may fail when multiple mmchfs commands are being performed at the same time.
- Fix a problem in which a incorrect vdisk state is displayed by the mmlsrecoverygroup command during a DA rebuild.
- Fix a problem in which a signal 11 in verbsDisconnect_i is seen on one node when gpfs shut down on a different node. This problem can occur if the nodes are RDMA connected and are configured with a large fabnum value.
- Fix a problem with GPFS logging code that could cause GPFS daemon to die with signal 11. This problem can only occur on nodes with LROC enabled.
- Fix a problem that could cause a FSSTRUCT error to be logged when reading EA from a disk. This could only occur when LROC is enabled and the EA does not fit in the inode.
- Fix a daemon assert that can occur during recovery.
- If a GNR system using GSS hardware uses Lenovo-branded disks, this change enables recognizing disk FRU (field replaceable unit) numbers. This simplifies service procedures, and allows disk replacement without error messages.
- Fix an assert that can occur during a fileset delete. perfileset-quota needs to be enabled and the fileset needs to have quota entries.
- Fix an assert that can occur after a small write of data in the middle of a clone child on a system that heavily uses clones.
- Fix a hang that can occur while resync is running on a SW fileset that reaches it's hard memory limit.
- Fix a mmfsd daemon crash that can occur when Zimon is used to monitor the node, and a file system is force unmounted due to some unrecoverable file system error.
- Allow changing the daemon interface of a non-quorum node in a CCR enabled cluster.
- Fix a daemon assert that can occur during the stopping of a NFS server and there exists a fileset with expiration enabled.
- Restrict the mmchcluster command from disabling CCR in a cluster that has a CES node. Administrator must remove all CES nodes from the cluster or use the --force option to disable CCR.
- Fix an incorrect fileset name being displayed by the mmlsfileset command. This can occur after deleting a dependent fileset when a snapshot exits with the fileset before it was deleted.
- Fix a problem in which orphans can not be deleted from the ptrash directory.
- Fix a GNR server node crash that can occur during a network failure trying to connect the GNR server pair.
- Fix an assert that can occur when adding pdisks with the --replace option to a cluster and one of the pdisks is in a bad state.
- Fix an assert that can occur during a snapshot restore of a sparse file with a file size close to the maximum file size limit.
- Fix an assert that can occur during a fsck recreate of an ACL file.
- Fix a mmbackup command failure that can occur on an AIX node when the command line arguments are too long.
- Fix a problem in which a fileset is stuck in an unmounted state that can occur if the remote becomes stale and both the application node and the gateway node are the same.
- Fix an assert that can occur during a multi-node fsck on a 16MB block size file system that has more then 16M inodes.
- Fix a node crash that can occur during a rolling upgrade.
- Fix a mmfsd node crash that can occur when NSDRaid is not enabled.
- If a system built on GNR/GSS/ESS servers has been getting IO errors on GPFS file systems (reported all the way to the end user application, not internal disk IO errors on individual physical disks), and those IO errors happened exactly at a time when some pdisks were unreachable (for example due to cabling or connectivity issues), and those pdisks would have been reachable from the backup node of the GNR server, then this fix will prevent the IO errors, by failing the recovery group containing the affected vdisk over to the backup node.
- Fix a problem that can occur in the mmbackup command when /tmp is full.
- Fix a problem in which mmaddnode fails to copy the committed key file to the new node. This only occurs on a CCR disabled cluster and if there are 2 key files.
- Fix quorum loss when the network is broken between two nodes and the cluster is configured with tiebreaker disk.
- Fix a problem in which the hard memory limit is not honored when the fileset is in a disconnected state.
- Fix command failures in a CCR enabled cluster on nodes that also have non-GPFSgskit packages installed.
- This update addresses the following APARs: IV79340 IV79341 IV79751 IV79756 IV79761 IV79767 IV80404 IV80405 IV80407 IV80789 IV81068 IV81071.
Problems fixed in IBM Spectrum Scale 4.1.1.4 [December 15, 2015]
- Fix a problem counting the number of mmpmon clients; prevent improper double close of a file descriptor.
- Fix GNR AU log long waiters seen in SSD replacement.
- Fix a deadlock when GPFS writes to memory mapped buffer and the same thread a lock already on it.
- Fix the truncate(2) up failure issue on clone child file.
- Add gpdQuorumLossShutdown to be one of the assert condition.
- Fix the AFM write to sparse file to home hang issue.
- Fix an issue in log code which can cause log recovery to be incorrectly skipped after a node failure. This could only occur on a 4K aligned filesystem where GPFS runs into problem completing log wrap operation.
- Fix the restore failure when restoring clone children files.
- Fix data mismatch on clone child file after restore.
- Fix data mismatch on regular file which is not clone kind of file after restore.
- Fix log writebehind code to prevent writing log record to old disk address while log file is being migrated. This issue will show up as a log recovery error if a node fails shortly after a log record was written to a wrong location.
- Update log recovery code to set junction bit when replay log to recover directory for a newly created fileset. The missing junction bit can only be detected via offline fsck.
- Fix the failover/resync to support outband trucking.
- Fix the data inconsistency issue between cache and home during resync on appended files.
- Fix the restore failure that happened at attributes restoring phase.
- Fix deadlock scenario that can occur when deleting a snapshot.
- Fix the ACL/EA mismatch during resync by considering ctime changed option.
- With NFS backend, ATTR_MTIME_SET implies ATTR_MTIME, but GPFS ignores setattr(ATTR_MTIME_SET) if ATTR_MTIME is also not set.
- Fix code to avoid high CPU usage by the mmfsd process under Windows.
- Update locking code to prevent a GPFS daemon assert. The assert could happen when more than MaxFcntlRangesPerFile (default 200) advisory locks were placed on a single file.
- Customer may experience signal 11 when trying to delete pdisk in the middle of RG fail over. The fix is to eliminate this problem.
- Fix the dentry count leak by adding the code to call dput in error path.
- Fix out of quota errors that can occur on filesystems with a format less then 1400.
- Fix the mtime mismatch between cache and home for zero sized files by copying mtime from openfile to child attributes.
- Apply if you use -B number with number > 2**31-1 in any of your commands or scripts.
- Fix is recommended for all GNR (ESS/GSS) customers. The problem could occur in the event of an actual disk enclosure failure.
- With this feature, user will be able to add a 4K native disk to existing non-4K aligned file system if the disk is used dataOnly, and the file system data block size is at least 128K, and the file system version is at least 4.1.1.4.
- Fix the issue by allowing prefetch to continue if parent cannot be found for some files.
- Fix the memory mapped read performance issue on AFM filesets.
- Fix the mmrestorefs[479] : daemon command memory fault issue.
- Fix a problem with copying key files in mmsdrrestore where the node that is being restored does not have prompt less password access to the issuing node.
- Fix the case where the ESS storage enclosure slot location that is cached in the daemon can get stale and is not getting updated.
- Do not allow the AioWorkerThread to steal a dirty buffer. This prevents a deadlock.
- Fix the mmdiscovercomp command that is failing with "Constraint error" when trying to add servers to the component database.
- Fix code to avoid quorum loss declaration of the current cluster manager, when the network is broken between two nodes.
- Fix the fileset unlink hang by closing the control file before calling unmount.
- If a system built on GNR/GSS/ESS servers has been getting IO errors on GPFS file systems (reported all the way to the end user application, not internal disk IO errors on individual physical disks), and those IO errors happened exactly at a time when some pdisks were unreachable (for example due to cabling or connectivity issues), and those pdisks would have been reachable from the backup node of the GNR server, then this fix will prevent the IO errors, by failing the recovery group containing the affected vdisk over to the backup node.
- Add code to flush data buffers first before setting cached bit.
- Fix the path to the Linux modprobe command that the mmchfirmware command uses when --type adapter is specified.
- Starting with 4.1.1, GPFS changed the contents of the Linux NFS filehandle, compared to earlier versions (while still supporting older filehandles). This means if the AFM home is upgraded to 4.1.1 or later, existing AFM filesets detect a change in export since the filehandle changes and will suspend future synchronization with home. Similarly, a change from knfsd to Ganesha at home also causes a filehandle change even though the export is the same. The only solution is to resync the cache using failover which is expensive. This fix handles upgrades if home is running GPFS by detecting and upgrading cached filehandle when the filehandle changes for an inode.
- Fix the mmdiscovercomp command that is failing when there are multiple building blocks.
- Re-enable online replica compare and repair.
- This update addresses the following APARs: IV76482 IV78653 IV78662 IV78666 IV78669 IV78672 IV78810 IV78910 IV78912 IV78913 IV78914 IV78915 IV78932 IV79336 IV79338 IV79339.
Problems fixed in IBM Spectrum Scale 4.1.1.3 [October 29, 2015]
- Fix a problem in a Disaster Recovery (multi-site) environment. If a network outage prevents the two main sites from talking to each other while both sites can still communicate with the tie-breaker (single-node) site, it is possible that the cluster manager may end up moving from the primary to the backup site. That may cause the primary site to lose quorum.
- Fix a PreAlloc log assert which happens when "offset + len" wraps through zero.
- Fix a regression which breaks FPO locality aware restripe.
- Fix the api gpfs_get_fssnaphandle_by_name to return the proper number of bytes, when called from a 32 bit application, so that the heap is not corrupted.
- Fix a memory map I/O offset issue that GPFS may not handle I/O properly for very huge file.
- Fix the mmrestorefs command failure on data changes restore phase.
- Handle minquorumNodes correctly in CCR enabled cluster.
- Fix GPFS SNMP subagent to work with newer Net-SNMP versions. This fix should be applied to any GPFS cluster node given the role of snmp_collector, if it is running RHEL 7.1, or some other Linux version that includes Net-SNMP 5.6 or beyond.
- Do not return AFM-specific internal attributes in gpfs_fgetattrs().
- On 2.6.39+ linux kernel, add explicit blk_start_plug/blk_finish_plug inside gpfs io submit routine, let io scheduler have more chances to merge IOs into a bigger size one.
- This update addresses the following APARs: IV77541 IV77542 IV77544 IV78046.
Problems fixed in IBM Spectrum Scale 4.1.1.2 [September 10, 2015]
- Avoid buffer overrun risk in AFM multi-byte scratch file name generation.
- Fix the cause of a crash of the GPFS mmsnmpagentd daemon. The fix only applies to GPFS clusters where a node has been given the snmp_collector role, as seen in mmlscluster output.
- Fix mmbackup which could report success even when some designated files did not back up. The count of objects backed up can become inaccurate due to a persistent problem that the reported number of objects backed up can be inflated by "dsmc" when it chooses to back up additional items such as parent directories. Correct the count of objects backed up by carefully monitoring for any possible misrepresentation from the individual dsmc commands.
- Fix the mmrestorefs command failure at the attributes restore phase of the command.
- mmfsadm dump improvements: add more loop restriction to exit loop after dumping all the original number of cached record addresses and improve SIGFPE support during dump.
- Fix rare case of deadlock in direct IO code path when flushing the stolen buffer.
- Fix memory fault (core dump), loop or hang in mmimgrestore during exit processing.
- This fix affects environments installing the Object protocol on an external Keystone where the administrator wants the install to automatically create the Swift entries in the Keystone server.
- When slab allocator creation fails, printk a warning message then fail mmfslinux.ko load instead of panic the kernel.
- Fix a possible GPFS daemon crash when using the mmcharrier command to replace a disk in the P7 disk enclosure in which some of the disk slots were not populated. Fix is recommended for P7IH customers and not relevant to other systems.
- Re-enable quota limits automatically after "mmcrfs -Q yes" and "mmchfs -Q yes". It has been disabled wrongly since GPFS v4.
- Fix potential signal 11 encountered during dump of NSD IO buffers.
- Fix the daemon hang during handler cleanup in AFM environment.
- Fix an error when mmafmctl flushpending is invoked without fileset name.
- Fix the data restore problem for the small file which only has fragment block.
- This fix affects environments running the Object protocol with a locally-installed Keystone server with SSL support.
- Fix assert that might occur on systems configured with a small shared segment under stress workload that includes metadata updates and frequent buffer steals.
- Fix code to avoid removing wrong address during deletion of addresses from the cesiplist configuration file.
- Increased stability of the library used to retrieve keys used for file encryption from ISKLM.
- RecLockModuleReset call to __posix_lock_file encounters bad file pointer
- Fix a deadlock caused by not releasing the DMAPI lock in failure path of AFM read.
- Fix a problem that suspended disks are still marked as "tobeemptied" after successful restripe.
- Migrating files in RO fileset causes SetXAttr to be queued at gateway node.
- Fix the undefined symbols in 32-bit version of libgpfs.so.
- Fix null pointer dereferencing in AFM expiration code by limiting it to work only on valid and registered fileset handlers.
- The GSKit toolkit has been updated to version 8.0.50.47, which(1) fixes the vulnerability described in CVE-2015-1788 and (2) improves the performance of secure sends (cipherList is set to a cipher other than empty or AUTHONLY)
- Fix a problem that the GSS/ESS component database information can appear out of sync.
- Optimize cifsProcess::isRegistered when the hash chain is empty
- Fix a specific case where the remote cluster is removed before cleaning up the remote mount entries when using mmremotefs delete.
- Upgraded LROC to support new NSD disk layout.
- Drop the GNR track mutex when trying to acquire the log mutex
- Fix signal 11 in saveInodePts when configured to use a localCache.
- Fix performance degradation under a workload accessing a large number of files, due to unnecessary atime refresh messages.
- Improve performance for workloads with large numbers of files on systems with fast metadata storage.
- Update code to ignore EINPROGRESS error from flush when setting up pipe for invoking external script from GPFS daemon.
- Fix signal 11 in daemon caused by removing a localCache device.
- When mmchfs is run with a rapid repair option this fix will check to see if the file system is unmounted before executing the command. An error is issued if the file system is mounted.
- Update the threshold to print 'memory usage approaching the limit' warning message that was triggered too early.
- Fix a problem in the AIX operating system, where some system calls like open() may set errno to EPERM, even if returning successfully, when run from non-root users. System calls like shmat() (when used to map a file) may fail with the same value of errno.
- Relax server license requirement for NSD disks in system.log pool
- This update addresses the following APARs: IV75396 IV75999 IV76016 IV76017 IV76018 IV76019 IV76020 IV76383 IV76455 IV76457 IV76458 IV76461 IV76467 IV76471 IV76473 IV76475 IV76518 IV76759
Problems fixed in IBM Spectrum Scale 4.1.1.1 [July 30, 2015]
- Fix a rare case that could cause mmsnmpagentd to consume up to 100% of CPU when GPFS daemon terminates. Only affects clusters where a node is given the SNMP collector role.
- Avoid rare kernel assert while deleting many snapshots concurrently on a sluggish system.
- The command mmrpldisk now reports no space error instead of panic the GPFS file systems with several almost full disks.
- Provide a default user exit for nodeLeave event for FPO clusters so that the disks could be marked as down and the data integrity is not compromised.
- Print accurate remaining redundancy in the log when rebuild fails due to insufficient disk space.
- Fix "No disk name found" error when all of the disks are either in "emptied" or "to be emptied" state.
- nsdperf can hang when used on large number of linux nodes
- Change gpfs_prealloc not to preallocate blocks when the requested preallocate size is within the last block of the file but less than the file size. The allocation blocks are rounded to GPFS block boundaries when the file has fragments.
- mmdeldisk (relocation of aclFile blocks) results in lost ACL
- Fix a rare kernel crash case in incompleteAioListRemove when doing AIO on Linux.
- Fix a deadlock resulted from running fsck and recovery in parallel.
- Fsck reports false positive DA corruption
- Fix a problem that makes file blocks not distributed in metablock unit among nodes when the FPO file system has not enough failure groups.
- Enhance FPO autorecovery log for clarity
- Fix a problem encountered when dumping buffers with NSD checksum errors.
- When a vdisk I/O times out, failover the recovery group to the back up node.
- Prevent an assert due to a race condition while both creating and deleting snapshots concurrently.
- By moving the truncation operation of clone child files to the later delta restoring phase, the failure of truncation on clone child files is avoided.
- By extracting the right log file name from the input of "device" of mmrestorefs command, user should not see this internal failure error when the restore process failed.
- Fix a deadlock during Ganesha queue clean up. Now when the daemon crash we don't clean the Ganesha queue using the Ganesha thread, clean it later during SG cleanup.
- Fix slow performance of some administration commands when CCR (Cluster Configuration Repository) is enabled
- Correct a small vulnerability in takeover after SG manager failure during a snapshot command.
- Fix secondary kernel exception (get_stcP) on Linux cNFS server
- Enhance mmfsctl to work with topology vector failure group, NSD stanza file.
- Fix performance issues in ESS/GSS clusters in very high stress. This fix applies to customer with client nodes in a ESS/GSS cluster containing Connect-IB adapter.
- Fix memory fault (core dump) in mmimgrestore during exit processing
- Improve the performance of communication across daemons when the 'cipherList' configuration parameter is set to something other than empty or AUTHONLY.
- Ganesha: file descriptor was used after it was released causing assertion. Now the release is done at exit after all references the the files are done.
- Provide inode number information to an assertion within the low-level file write operation.
- Fix assert "openInstCount >= 0" under stress workload that includes file deletions.
- kxSendFlock needs to copyin user objects
- Fix a problem that the disk failed LED may not lit when setting the disk state to failed
- Fix a problem with AIO write pass the end file where file size change may be lost if GPFS daemon fails or file system panics shortly after write was completed.
- Fix a problem that mmdf show 0 free blocks for suspended disks
- Fix a kernel panic due to NULL pointer dereference during hard reboot of the partner node in Ganesha environment
- Fix a problem with DIRECT_IO write which can cause data loss when file system panic or nod e fails after write pass end of file using DIRECT_IO causes an increase in file size. The file sizeincrease could be lost.
- Enhanced the file system inconsistency state check during restore process and then graceful exit if detected.
- Fix the problem that data missed to write to new allocated datablock when file was expanded to size larger than old allocated datablock.
- Fixed the problem with VMWare NFS v3 client in Ganesha environment by providing an option to enable short_file_handle that VMware NFS client is using.
- Fixed a replicas mismatch problem that was caused by using wrongblock index in the indirect block.
- gpfs hadoop connector supports Hadoop 2.7.x release
- gpfs hadoop connector supports hdfs:// schema
- This update addresses the following APARs: IV74661 IV74686 IV74697 IV74732 IV75108 IV75394
Summary of changes for IBM Spectrum Scale version 4 release 1.1 as updated, June 2015
Changes to this release of the IBM Spectrum Scale licensed program and the IBM Spectrum Scale library include the following:
- Active file management asynchronous fileset-level data
replication for disaster recovery (DR)
Asynchronous replication of data at the file level enables you to create a primary(active)/secondary(passive) relationship at the fileset level. Data is asynchronously replicated to the secondary on a periodic basis. To enable this function, ensure that you run the following commands: * If you are migrating from a previous release, run the mmchconfig release=LATEST command. * Run the mmchfs -V full command. - Cluster Configuration Repository (CCR) Enhancements were made to restore broken configuration and files to bring a cluster back online or a broken node to a working state. In the case of a disaster recovery setup, steps are provided to downgrade the quorum assignments when half or more of the quorum nodes are no longer available at one of the sites. Consult the "Establishing disaster recovery for your GPFS cluster" topic in the IBM Spectrum Scale: Advanced Administration Guide.
- Cygwin 64-bit version requirement for Windows nodes The 32-bit version of Cygwin is no longer supported for Windows nodes running GPFS. Users that are running GPFS 4.1 with the 32-bit version of Cygwin installed must upgrade to the 64-bit version of Cygwin before installing IBM Spectrum Scale 4.1.1. Users with SUA on GPFS releases prior to 4.1 should upgrade directly to the 64-bit version of Cygwin.
- Data collection for expelled nodes When a node is about to be expelled for unknown reasons, debug data is collected automatically to help find the root cause.
- Deadlock amelioration Deadlock breakup requests can be issued on demand at a time that is chosen by a system administrator. A user callback for the deadlockOverload event can be added to notify a system administrator to check the system and workload for an overload condition.
- File Placement Optimizer (FPO) FPO enhancements deliver the ability to change block allocation of an existing file with the mmrestripefile and mmchattr commands and efficient removal of disks when disks have already been emptied with the auto recovery process. Auto recovery has been optimized to handle multiple failure and recovery events more efficiently.
- Fileset-level integrated archive manager (IAM) modes Fileset-level integrated archive manager (IAM) modes give users the ability to set four different IAM modes at the fileset level, including the root fileset, so that users can modify the file-operation restrictions that normally apply to immutable files. For more information, see the following: * topic about immutability and appendOnly restrictions in the Information Lifecycle Management chapter of the IBM Spectrum Scale: Advanced Administration Guide * mmchfileset and mmlsfileset command descriptions in the IBM Spectrum Scale: Administration and Programming Reference To enable this function, ensure that you run the following commands: * If you are migrating from a previous release, run the mmchconfig release=LATEST command. * Run the mmchfs -V full command.
- GPFS Native RAID (GNR) and Elastic Storage Server (ESS) documentation The documentation for GNR and ESS was removed from the information units in the IBM Spectrum Scale library. This includes GNR commands, GNR callbacks available to the mmaddcallback command, vdisk performance monitoring with the mmpmon command, messages in the ranges 6027-1850 - 6027-1899 and 6027-3000 - 6027-3099, and the chapter in the IBM Spectrum Scale: Advanced Administration Guide titled GPFS Native RAID (GNR). For more information about GNR, see GPFS Native RAID: Administration. For more information about ESS, see Deploying the Elastic Storage Server.
- Hadoop support Hadoop support was expanded from FPO storage to shared storage. This allows data stored in current GPFS clusters using shared storage to be accessible to Hadoop applications. IBM Spectrum Scale Hadoop Connector has been enhanced to transparently support both FPO based storage pools to leverage data locality and shared storage where locality information is not applicable. This allows FPO and shared storage pool to be used within the same file system, which allows Hadoop applications to access data in the entire file systems transparently. IBM Spectrum Scale Hadoop Connector fully supports Hadoop version 2.5, and it can also be used with Hadoop version 2.6 in compatibility mode (Hadoop file system APIs in 2.6 are not yet implemented). The mmhadoopctl command was introduced to simplify IBM Spectrum Scale Hadoop Connector configuration and management.
- Inode expansion optimization In this release, inode expansion, which allows dynamic growth of inodes, is optimized to reduce the contention that can flare up during bursts of file creates. To enable this function, ensure that you run the following commands: * If you are migrating from a previous release, run the mmchconfig release=LATEST command. * Run the mmchfs -V full command to enable all of the new functionality that requires different on-disk data structures. For more information, see the topics on completing migration and use of disk storage and file structure in file systems in the IBM Spectrum Scale: Concepts, Planning, and Installation Guide.
- Installation toolkit The installation toolkit can be used to do the following: * Install and configure GPFS. * Add GPFS nodes to an existing cluster. * Deploy and configure SMB, NFS, OpenStack Swift, and performance monitoring tools on top of GPFS. * Configure authentication services for protocols. * Upgrade GPFS and protocols. For details, see the spectrumscale command description in the IBM Spectrum Scale: Administration and Programming Reference.
- Multi protocol data access Data access to a shared storage infrastructure through enhanced protocol support for NFS, SMB, and Swift Object. For more information, see the IBM Spectrum Scale: Advanced Administration Guide and the IBM Spectrum Scale: Administration and Programming Reference.
- Performance improvements for mmfsck The mmfsck command can now store information that is found during a scan of the file system into a patch file. The information in the patch file can then be used as input to repairing the file system. Using a patch file to repair the file system prevents an additional scan before starting the repair actions. For more information, see the mmfsck command description in the IBM Spectrum Scale: Administration and Programming Reference.
- PIT inode list The parallel inode traversal (PIT) scan used for the mmchdisk, mmdeldisk, mmrestripefs, and mmrpldisk commands has now been updated to produce a list of inodes with interesting attributes, for example: those having broken disk addresses or those being ill placed. While the mmfileid command can be used to list files with broken disk addresses, this can be a slow process. Two new optional parameters, --inode-criteria CriteriaFile and -o InodeResultFile have been added to the more commonly-used mmchdisk, mmdeldisk, mmrestripefs, and mmrpldisk commands. These parameters allow you to find files matching certain criteria without a separate invocation of mmfileid. With this new feature, you can easily find the interesting files and their inode numbers. The output file will contain a list of inode numbers that meet the specified flags along with the name of the flag and the file type. For more information about these commands and for a description of the optional parameters and flags, see the commands in the IBM Spectrum Scale: Administration and Programming Reference. To enable this function, ensure that you run the following commands: * If you are migrating from a previous release, run the mmchconfig release=LATEST command. * Run the mmchfs -V full command to enable all of the new functionality that requires different on-disk data structures.
- Policy improvements: This release includes the following policy improvements: mmapplypolicy --sort-command SortCommand The mmapplypolicy --sort-command parameter allows you to specify an alternative sort command to be used, rather than the default sort command provided with the operating system. Implicit SET POOL 'first-data-pool' rule For file systems that are at or have been upgraded to 4.1.1, the system recognizes that, even if no policy rules have been installed to a file system by mmchpolicy, data files should be stored in a non-system pool if available (rather than in the system pool, which is the default for earlier releases). For more information, see the following: * Information Lifecycle Management chapter in the IBM Spectrum Scale: Advanced Administration Guide * mmchpolicy command description in the IBM Spectrum Scale: Administration and Programming Reference
- Quota management Quota management improvements for file system format 4.1.1 and higher include: * Allowing quota management to be enabled and disabled without unmounting the file system. To enable this function, ensure that you run the following commands: * If you are migrating from a previous release, run the mmchconfig release=LATEST command. * Run the mmchfs -V full command.
- Read replica policy In a file system with replicas, there are replicas for each data block stored in different disks in different failure groups. Now, using the readReplicaPolicy attribute of the mmchconfig command you can specify the location from which the policy is to read replicas. readReplicaPolicy lets you specify that the first replica be read, the local or closest replica, or the fastest. For more information, see the mmchconfig command in the IBM Spectrum Scale: Administration and Programming Reference.
- Performance Monitoring Tool The Performance Monitoring tool aims to provide performance information after collecting the metrics from GPFS and protocol nodes using the mmperfmon query command with an appropriate query. The tool helps in detecting performance issues and problems. The predefined queries and metrics help in investigating every node or any particular node that is collecting metrics. For more information, see the following: * "Performance Monitoring tool overview" topic in the IBM Spectrum Scale: Advanced Administration Guide * mmperfmon command description in the IBM Spectrum Scale: Administration and Programming Reference
- Documented commands, structures, and subroutines The following lists the modifications to the documented commands, structures, and subroutines: New commands The following commands are new: * mmces * mmdumpperfdata * mmhadoopctl * mmnfs * mmobj * mmperfmon * mmprotocoltrace * mmsmb * mmuserauth * spectrumscale New structures There are no new structures. New subroutines There are no new subroutines. Changed commands The following commands were changed: * gpfs.snap * mmaddcallback * mmafmctl * mmafmlocal * mmapplypolicy * mmbackup * mmbuildgpl * mmchconfig * mmchdisk * mmcheckquota * mmchfileset * mmchnode * mmchpool * mmchpolicy * mmcrcluster * mmcrfileset * mmdeldisk * mmedquota * mmfsck * mmlscluster * mmlsfileset * mmlsfs * mmlspolicy * mmlsquota * mmpsnap * mmrepquota * mmrestorefs * mmrestripefile * mmrestripefs * mmrpldisk Changed structures There are no changed structures. Changed subroutines There are no changed subroutines. Deleted commands There are no deleted commands. Deleted structures There are no deleted structures. Deleted subroutines There are no deleted subroutines.
- Messages The following lists the new, changed, and deleted messages: New messages 6027-962, 6027-2145, 6027-2230, 6027-2234, 6027-2235, 6027-2238, 6027-2240, 6027-2241, 6027-2242, 6027-2245, 6027-2246, 6027-2247, 6027-2248, 6027-2249, 6027-2250, 6027-2251, 6027-2252, 6027-2253, 6027-2254, 6027-2255, 6027-2256, 6027-2257, 6027-2258, 6027-2259, 6027-2260, 6027-2261, 6027-2262, 6027-2263, 6027-2264, 6027-2265, 6027-2266, 6027-2267, 6027-2268, 6027-2269, 6027-2270, 6027-2271, 6027-2272, 6027-2273, 6027-2274, 6027-2281, 6027-2282, 6027-2283, 6027-2284, 6027-2285, 6027-2286, 6027-2287, 6027-2288, 6027-2289, 6027-2290, 6027-2291, 6027-2292, 6027-2293, 6027-2294, 6027-2295, 6027-2296, 6027-2297, 6027-2298, 6027-2299, 6027-2300, 6027-2301, 6027-2302, 6027-2303, 6027-2304, 6027-2305, 6027-2306, 6027-2307, 6027-2308, 6027-2309, 6027-2310, 6027-2311, 6027-2312, 6027-2313, 6027-2314, 6027-2315, 6027-2316, 6027-2317, 6027-2318, 6027-2319, 6027-2320, 6027-2321, 6027-2322, 6027-2323, 6027-2324, 6027-2325, 6027-2326, 6027-2327, 6027-2329, 6027-2330, 6027-2331, 6027-2332, 6027-2333, 6027-2334, 6027-2335, 6027-2336, 6027-2337, 6027-2338, 6027-2339, 6027-2340, 6027-2341, 6027-2342, 6027-2343, 6027-2344, 6027-2345, 6027-2346, 6027-2347, 6027-2348, 6027-2349, 6027-2350, 6027-2351, 6027-2352, 6027-3255, 6027-3256, 6027-3257, 6027-3306, 6027-3307, 6027-3308, 6027-3309, 6027-3310, 6027-3311, 6027-3312, 6027-3313, 6027-3314, 6027-3315, 6027-3316, 6027-3551, 6027-3552, 6027-3553, 6027-3554, 6027-3579, 6027-3580, 6027-3581, 6027-3708, 6027-3709, 6027-3710, 6027-3711, 6027-3712, 6027-3713, 6027-3714, 6027-3715, 6027-3716, 6027-3717, 6027-3718, 6027-3719, 6027-3900, 6027-3901, 6027-3902, 6027-3903, 6027-3904, 6027-3905, 6027-3906, 6027-3907, 6027-3908, 6027-3909, 6027-3910, 6027-3911, 6027-3912, 6027-4000, 6027-4001, 6027-4002, 6027-4003, 6027-4004, 6027-4005, 6027-4006, 6027-4007, 6027-4008, 6027-4009, 6027-4010, 6027-4011, 6027-4012, 6027-4013, 6027-4014, 6027-4015 Changed messages 6027-625, 6027-872, 6027-1305, 6027-2181, 6027-2183, 6027-2229, 6027-2714, 6027-2715, 6027-2758, 6027-3248, 6027-3249 Deleted messages 6027-2622, 6027-2632, 6027-3511, 6027-3514, 6027-3515, 6027-3516, 6027-3536, 6027-3544
Problems fixed in GPFS 4.1.0.8 [May 26, 2015]
- Correct a small vulnerability in takeover after file system manager failure during a snapshot command.
- The code change ensures that online replica compare tool does not report false positive mismatches when the file system has suspended disks.
- Fix an AFM recovery issue during the fileset unlink.
- Fix a problem when determining whether copy-on-write is needed or not in the presence of snapshots. Sometimes this problem may result in spurious write operation failures (especially, but not limited to file/directory creation).
- Fix a hang in mmrestripefs, which may also result in waiters for "PIT_Start_MultiJob". The problem may happen if the set of nodes specified in the '-N' option to the command includes nodes which are still in the process of being started (or restarted).
- mmcrsnapshot, mmdelsnapshot and mmfileset commands quiesce the file system before they start actual work. During that quiesce if a thread doing file deletion of an HSM migrated file is stuck waiting for recall, since that recall could take long time due to slow tapes for example, then the mm commands could time out. This fix allows those commands to proceed while a deletion is waiting for recall.
- Close a very small window of deadlock caused by releasing the kssLock and and calling cxiWaitEventWakeupOne when a thread not waiting for the exclusive lock is waken up and leaving the thread actually waiting for the lock sleeping and waiting.
- Avoid a GPFS crash when running mmrestorefs or mmbackup where there are deleted filesets.
- Enable offline fsck to validate extended attribute file
- Fix a problem with directory lookup code that can cause FSErrInodeCorrupted error to be incorrectly issued. This could occur when lookup on '..' entry of a directory occurs at the same time as its parent is being deleted.
- Ensure that EA migration to enable FastEA support for a file system does not assert for 'Data-in-Inode' case under certain conditions
- Enable online fsck to fix AFM pre-destroyed inodes. Use PIT to cleanup unlinked inodes in AFM disabled fileset.
- Update allocation code to close a small timing window that could lead to file system corruption. The problem could only occur when a GPFS client has a file system panic at the same time as the new file system manager is performing a take over after the old manager resigned.
- Fix a signal 11 problem in multi-cluster environment when gpfs daemon relay the fsync request through metanode but the OpenFile got stolen on the metanode in the middle.
- Remove confusing trace stop failed error messages on Windows.
- The privateSubnetOverride configuration parameter may be used to allow multiple clusters on the same private subnet to communicate even when cluster names are not specified in the 'subnets' configuration parameter.
- This fix indicates that mmfileid command will not work if there is only GPFS express edition installed.
- Fix a workload counter used for NVRAM log tip I/O processing queues. Recommended if NVRAM log tip is in-use.
- Potentially avoid crash on normal OS shutdown of CNFS node.
- Fix issue where file create performance optimization was sometimes disabled unnecessarily.
- In a cluster configured with node quorum, fix a problem where, if the cluster manager fails and the cluster is left with only the bare-minimum number of nodes to maintain node quorum, the cluster may still lose quorum.
- Enable offline fsck to fix AFM orphan directory entries in single run
- Fix a problem where the number of nodes allowed in a cluster is reset from 16384 to 8192.
- This affects GSS/ESS customers who are using chdrawer to prepare to replace a failed storage enclosure drawer on an active system.
- Correct a problem in the v4.1 release with directory listings in file systems created prior to v3.2.
- Fix a problem that a race between log wrap and repair threads caused checksum mismatch in indirect blocks.
- Fix a daemon crash in AFM ensuring that the setInFlight() method have positive 'numExecuted' value while calculating the average wait time of the messages.
- Fix a problem on GPFS CCR cluster where GPFS commands may not work on inactive configuration servers after generated new security key.
- Fix command poor performance on cluster that has no security key.
- Fix a problem with DIRECT_IO write which can cause data loss when file system panic or node fails after a write passes the end of file using DIRECT_IO and causes an increase in file size. The file size increase could be lost.
- File cache filled-up with deleted objects (Linux NFS)
- Fix a hardlink creation issue by handling the E_NEEDS_COPIED error in SFSLinkFile function for AFM files.
- Fix handling of policy rules like ... MIGRATE ... TO some-group-pool THRESHOLD (hi,lo) ...
- The /var/mmfs/etc/RKM.conf configuration file used to configure file encryption now supports a wider set of characters.
- Trigger a back-off when 90% of the configured hard memory limit is hit during queuing of AFM recovery operations.
- ESS customers, using zimon, may see GPFS daemon crashes in the performance monitoring code.
- ESS customers, using zimon, may see GPFS daemon crashes in the performance monitoring code.
- Add support for multiple RDMA completion threads and completion queues
- Fix signal 11 in verbs::verbsCheckConn_i
- Fix signal 11 in runTSPcache caused by a uninitialized variable in error paths.
- mmauth inadvertently change cipherList to an invalid string. Changed Externals: New messages: GPFS: 6027-3708 [E] Incorrect passphrase for backend '%s'. GPFS: 6027-3709 [E] Error encountered when parsing line %d: expected a new RKM backend stanza. GPFS: 6027-3710 [E] Error encountered when parsing line %d: invalid key '%s'. GPFS: 6027-3711 [E] Error encountered when parsing line %d: invalid key-value pair. GPFS: 6027-3712 [E] Error encountered when parsing line %d: incomplete RKM backend stanza '%s'. GPFS: 6027-3713 [E] An error was encountered when parsing line %d: duplicate key '%s'. GPFS: 6027-3714 [E] Incorrect permissions for the /var/mmfs/etc/RKM.conf configuration file. Deleted messages: GPFS: 6027-3536 [E] Incorrect passphrase '%s' for backend '%s'. GPFS: 6027-3511 [E] Error encountered when parsing '%s': expected a new RKM backend stanza. GPFS: 6027-3515 [E] Error encountered when parsing '%s': invalid key-value pair. GPFS: 6027-3514 [E] Error encountered when parsing '%s': invalid key '%s'. GPFS: 6027-3516 [E] Error encountered when parsing '%s': incomplete RKM backend stanza '%s'. GPFS: 6027-3544 [E] An error was encountered when parsing '%s': duplicate key '%s'.
- This update addresses the following APARs: IV71419 IV71569 IV71601 IV71607 IV71613 IV71616 IV71628 IV71633 IV71634 IV71636 IV71648 IV71692 IV71815 IV72029 IV72033 IV72039 IV72042 IV72048 IV72684 IV72687 IV72688 IV72694 IV72695 IV72698 IV72700 IV72890.