<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:readme="urn:com:ibm:fmt:readmetemplate">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script type="text/javascript" language="JavaScript1.2">
<!-- 
function _dSectionExpand(imageElementID,textElemenetID) {
	if( document.getElementById(imageElementID) != null && document.getElementById(textElemenetID) != null ) {
   		document.getElementById(imageElementID).style.display = "none";
   		document.getElementById(textElemenetID).style.display = "";
    }
}
function _dSectionCollapse(imageElementID,textElemenetID) {
	if( document.getElementById(imageElementID) != null && document.getElementById(textElemenetID) != null ) {
   		document.getElementById(textElemenetID).style.display = "none";
   		document.getElementById(imageElementID).style.display = "";
   	}
}
// -->
</script>
 </head>
<body onload="_dSectionCollapse();">
<a name="Top_Of_Page" id="Top_Of_Page"></a>
<h1>Readme and Release notes for release 3.2.1.21 (GPFS) IBM General Parallel File System 3.2.1.21 GPFS-3.2.1.21-x86_64-Linux Readme</h1>
<p>
<b>Readme file for:</b>GPFS-3.2.1.21-x86_64-Linux<br>
<b>Product/Component Release:</b>3.2.1.21<br>
<b>Update Name:</b>GPFS-3.2.1.21-x86_64-Linux<br>
<b>Fix ID:</b>GPFS-3.2.1.21-x86_64-Linux<br>
<b>Publication Date:</b>29 July 2010<br>
<b>Last modified date:</b>29 July 2010<br>
<br>
<b>Online version of the readme file:</b><a href="http://www-01.ibm.com/support/docview.wss?rs=0&uid=isg400000178">http://www-01.ibm.com/support/docview.wss?rs=0&amp;uid=isg400000178</a>
<br>
<b>Important</b>: The most current version of the readme file can always be found online.<br>
</p>
<font size="4"><b>Contents</b></font>
<br>
<br>
<a href="#Download location" class="fbox">Download location</a>
<br>
<a href="#Prerequisites and co-requisites" class="fbox">Prerequisites and co-requisites</a>
<br>
<a href="#Known issues" class="fbox">Known issues</a>
<br>
<br>
<b>Installation information</b>
<br>
<br>
<a href="#Additional information" class="fbox">Additional information</a>
<br>
<a href="#Copyright and trademark information" class="fbox">Copyright and trademark information</a>
<br>
<br>
<! ##################################################################################### --> <br>
<br>
<a name="Download location"><font size="4"><b>Download location</b></font></a>
<br>
<br>
<p>Below is a list of components, platforms, and file names that apply to this Readme file.<br>
<br>
</p>
<span id="imageElementLinux" style="position:relative; display:none;"><a onclick="return _dSectionExpand(&quot;imageElementLinux&quot;,&quot;textElementLinux&quot;);">
                
				<img src="http://www-01.ibm.com/support/docview.wss?uid=swg24018266&aid=2" border="0" alt="" ></img>
			     <b>Fix Download for Linux</b></a></span><span id="textElementLinux" style="position:relative"><a onclick="return _dSectionCollapse(&quot;imageElementLinux&quot;,&quot;textElementLinux&quot;);">
                
				<img src="http://www-01.ibm.com/support/docview.wss?uid=swg24018266&aid=3" border="0" alt="" ></img>
			     <b>Fix Download for Linux</b></a>
<table cellspacing="0" cellpadding="0" width="600" style="background-color:FFFFFF" bordercolor="000000" border="1">
<br>
<tr>
<td><b>Product/Component Name:</b></td><td><b>Platform:</b></td><td><b>Fix:</b></td>
</tr>
<tr>
<td>(GPFS) IBM General Parallel File System</td><td>Linux 64-bit,x86_64 RHEL<BR/>Linux 64-bit,x86_64 SLES<BR/></td><td><a href="http://www.ibm.com/support/fixcentral/swg/quickorder?product=ibm/power/IBM+General+Parallel+File+System&function=fixid&fixids=GPFS-3.2.1.21-x86_64-Linux">GPFS-3.2.1.21-x86_64-Linux</a></td>
</tr>
</table>
</span>
<br>
<br>
<br>
<br>
<br>
<a name="Prerequisites and co-requisites"><font size="4"><b>Prerequisites and co-requisites</b></font></a>
<br>
<br>
        None
	  <br>
<br>
<a name="Known issues"><font size="4"><b>Known issues</b></font></a>
<br>
<br><!-- BASIC TWISTY SHOW/HIDE -->
<div class="ibm-container ibm-alternate">
<div class="ibm-container-body">
<ul class="ibm-twisty">
<li>
<a name=notice3305></a>
<a class="ibm-twisty-trigger" href="#toggle"><img alt="-" src="//www.ibm.com/i/c.gif" /></a>
<span class="ibm-twisty-head"><b>Problem discovered in earlier GPFS releases</b>
</span>
<div class="ibm-twisty-body">
<div class="ibm-container-body">

<p>
 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. 
</p>
<p>
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).</p>
<p class="ibm-list-next">This issue is limited to the following conditions:</p>
<ol>
<li>The workload consists of a mixture of writes and reads, to file offsets that do not fall on the GPFS file system block boundaries; </li>
<li>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 </li>
<li>The active set of data blocks is small enough to fit entirely in the GPFS pagepool.</li>
</ol>

<p>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.</p>
<br/>

</div>
</div>

</li>
</ul>
</div>
</div>

<p><b>Korn Shell for SLES 10</b></p>
<p>
The GPFS required level of Korn Shell for SLES 10 support is version ksh-93r-12.16 and can be obtained at the following <a class=ibm-feature-link href="https://you.novell.com/update/x86_64/update/SUSE-SLES/10/PTF/43ed798d45b1ce66790327fe89fb3ca6/20061201">architecture-specific link</a>.
</p>
<br>
<br>
<a name="Installation information"><font size="4"><b>Installation information</b></font></a>
<br>
<br><!-- BASIC TWISTY SHOW/HIDE -->
<div class="ibm-container ibm-alternate">
<div class="ibm-container-body">
<ul class="ibm-twisty">
<li>
<a class="ibm-twisty-trigger" href="#toggle"><img alt="-" src="//www.ibm.com/i/c.gif" /></a>
<span class="ibm-twisty-head"><b>Installing a GPFS update for System x</b>
</span>
<div class="ibm-twisty-body">
<div class="ibm-container-body">

<p>
Complete the following steps to install the fix package:

<ol>

<li>Unzip and extract the update package ( &lt filename &gt .tar.gz file) with one of the following commands:
<br/><br/>
<b><samp>gzip -d -c &lt filename &gt .tar.gz | tar -xvf -</samp></b>
<br/><br/>
<b>or</b>
<br/><br/>
<b><samp>tar -xzvf &lt filename &gt .tar.gz</samp></b></li>
<br/><br/>

<li>
Verify the update's RPM images in the directory. Normally, the list of RPM images in this directory would be similar to <u>one</u> of the following:
<br/><br/>
<u>GFPS update</u><br/>
<b><samp>
gpfs.base. &lt update_version &gt . &lt arch &gt .update.rpm<br/>
gpfs.docs. &lt update_version &gt .noarch.rpm<br/>
gpfs.gpl. &lt update_version &gt .noarch.rpm<br/>
gpfs.msg.en_US. &lt update_version &gt .noarch.rpm</samp></b>
<br/><br/>

<u>GFPS update with GPL licensed kernel module</u><br/>
<b><samp>
gpfs.base. &lt update_version &gt . &lt arch &gt .update.rpm<br/>
gpfs.docs. &lt update_version &gt .noarch.rpm<br/>
gpfs.gpl. &lt update_version &gt .noarch.gpl.rpm<br/>
gpfs.msg.en_US. &lt update_version &gt .noarch.rpm</samp></b><br/><br/>

where<br/>
 
&lt update_version &gt specifies the version number of the update you downloaded, for example, <b>3.1.0-7</b>.
<br/><br/>
&lt arch &gt specifies the system architecture, for example <b>i386</b> for 32-bit System x or <b>x86_64</b> for 64-bit System x.
<br/><br/>
For specific filenames, check the Readme for the GPFS update by clicking the "View" link for the update on the Download tab. 
<br/><br/>
</li>

<li>Follow the installation and migration instructions in your GPFS Concepts,
   Planning and Installation Guide.
</ol>

</div>
</div>
</li>
</ul>
</div>
</div>

<div class="ibm-container ibm-alternate">
<div class="ibm-container-body">
<ul class="ibm-twisty">
<li>
<a class="ibm-twisty-trigger" href="#toggle"><img alt="-" src="//www.ibm.com/i/c.gif" /></a>
<span class="ibm-twisty-head"><b>Upgrading GPFS nodes</b>
</span>
<div class="ibm-twisty-body">
<div class="ibm-container-body">

<p>
 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.</p>

 <p>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.
</p>
<p>
   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.
</p>
<ol>
<li>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.
</li>
<li>Stop GPFS on the node. Verify that the GPFS daemon has terminated and
      that the kernel extensions have been unloaded (<b>mmfsenv -u</b>).  If the command <b>mmfsenv -u</b> 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 <b>mmfsenv -u</b> and if that succeeds then a reboot of the node can be avoided.
</li>
<li>Upgrade GPFS using the RPM command as follows:
<br/><br/><u>GPFS update</u><br/>
<b><samp>
rpm -U gpfs.base- &lt update_version &gt . &lt arch &gt .update.rpm
<br/>rpm -U gpfs.docs- &lt update_version &gt .noarch.rpm
<br/>rpm -U gpfs.gpl- &lt update_version &gt .noarch.rpm
<br/>rpm -U gpfs.msg.en_US- &lt update_version &gt .noarch.rpm</samp></b>
<br/><br/><u>GPFS update with GPL licensed kernel module</u>
<b><samp><br/>
rpm -U gpfs.base- &lt update_version &gt . &lt arch &gt .update.rpm
<br/>rpm -U gpfs.docs- &lt update_version &gt .noarch.rpm
<br/>rpm -U gpfs.gpl- &lt update_version &gt .noarch.gpl.rpm
<br/>rpm -U gpfs.msg.en_US- &lt update_version &gt .noarch.rpm</samp></b>
<br/><br/>
</li>

<li>Check the GPFS FAQ to see if any additional images or patches are required
      for your Linux installation:
<a HREF="http://publib.boulder.ibm.com/infocenter/clresctr/topic/com.ibm.cluster.gpfs.doc/gpfs_faqs/gpfs_faqs.html" target="_new.window">
General Parallel File System FAQs (GPFS FAQs)</a>
<br/>&nbsp;</li>
<li>Recompile any GPFS portability layer modules you may have previously
      compiled. The recompilation and installation procedure is outlined in
      the following file:<br/> 
<samp><b>/usr/lpp/mmfs/src/README</b></samp></li>
</ol></ol>
</div>
</div>
</li>
</ul>
</div>
</div>

<br>
<br>
<a name="Additional information"><font size="4"><b>Additional information</b></font></a>
<br>
<br><!-- BASIC TWISTY SHOW/HIDE -->
<div class="ibm-container ibm-alternate">
<div class="ibm-container-body">
<ul class="ibm-twisty">
<li>
<a class="ibm-twisty-trigger" href="#toggle"><img alt="-" src="//www.ibm.com/i/c.gif" /></a>
<span class="ibm-twisty-head"><b>Notices</b>
</span>
<div class="ibm-twisty-body">
<div class="ibm-container-body">

<p><b>[June 9, 2010]</b></p>
<div class="ibm-indent">
<p>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.</p>
 
<p>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.</p>
 
<p>Verify that you have the correct package installed by running the <b>rpm -qi gpfs.base</b> command. Make sure that the Build Date is Mon 07 Jun 2010.</p>
</div>
 
<p><b>[June 2, 2010]</b></p>
<div class="ibm-indent">
<p>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.</p>
 
<p>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.</p>
 
<p>Verify that you have the correct package installed by running the <b>rpm -qi gpfs.base</b> command. Make sure that the Build Date is Thu 27 May 2010.</p>
</div>

<p><b>[April 1, 2010]</b></p>
<div class="ibm-indent">
<p>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.</p>

<p>Click <a href="#notice3305">here</a> for details.</p>
</div>

<p><b>[March 31, 2010]</b></p>
<div class="ibm-indent">
<p>Support for SLES 10 kernel beyond 2.6.16.60-0.58.1 has changed.  GPFS 3.3 requires GPFS 3.3.0-5 and GPFS 3.2 requires 3.2.1-18.</p>
</div>

<p><b>[December 17, 2009]</b></p>
<div class="ibm-indent">
<p>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.</p>
</div>

<p><b>[November 9, 2009]</b></p>
<div class="ibm-indent">
<p>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.</p>
</div>


<p><b>[November 7, 2008]</b></p>
<div class="ibm-indent">
<p>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 '.</p>
</div>


<p><b>[September 11, 2008]</b></p>
<div class="ibm-indent">
<p>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.</p>
</div>

</div>
</div>

</li>
</ul>
</div>
</div>

<!-- BASIC TWISTY SHOW/HIDE -->
<div class="ibm-container ibm-alternate">
<div class="ibm-container-body">
<ul class="ibm-twisty">
<li>
<a class="ibm-twisty-trigger" href="#toggle"><img alt="-" src="//www.ibm.com/i/c.gif" /></a>
<span class="ibm-twisty-head"><b>Package information</b>
</span>
<div class="ibm-twisty-body">
<div class="ibm-container-body">

<p>
The update images listed below and contained in the tar image with this README
are maintenance packages for GPFS. The update images are a mix of normal RPM
images that can be directly applied to your system.
</p>
<p>
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.</p>
<p>
After all RPMs are installed, you have successfully updated your GPFS product.
</p>

<p><b>Update to Version:</b></p>

<div class=ibm-indent>
<p>3.2.1-21</p>
</div>

<p><b>Update from Version:</b></p>

<div class=ibm-indent>
<p>3.2.0-0 through 3.2.1-20</p>
</div>

<p><b>Update (tar file) contents:</b></p>

<div class=ibm-indent>
<p>README<br/>
changelog<br/>
gpfs.base-3.2.1-21.x86_64.update.rpm<br/>
gpfs.docs-3.2.1-21.noarch.rpm<br/>
gpfs.gpl-3.2.1-21.noarch.rpm<br/>
gpfs.msg.en_US-3.2.1-21.noarch.rpm<br/>
gpfs.gui-3.2.1-21.x86_64.rpm</p>
</div>

</div>
</div>
</li>
</ul>
</div>
</div>
<!-- BASIC TWISTY SHOW/HIDE -->
<div class="ibm-container ibm-alternate">
<div class="ibm-container-body">
<ul class="ibm-twisty">
<li>
<a class="ibm-twisty-trigger" href="#toggle"><img alt="-" src="//www.ibm.com/i/c.gif" /></a>
<span class="ibm-twisty-head"><b>Changelog for GPFS 3.2.x</b>
</span>
<div class="ibm-twisty-body">
<div class="ibm-container-body">

<!-- TITLE_END -->

<!-- CONTENT_BODY_BEGIN -->
<div id="ibm-content-body">
<!-- main content begin -->
<div id="ibm-content-main">
<div class="ibm-container">
<div class="ibm-container-body">
<p>Unless specifically noted otherwise, this history of problems fixed for GPFS 3.2.x applies
for all supported platforms.
</p>
</div>
</div>

<div class="ibm-container">
<div class="ibm-container-body">
<a name="32121"></a> 
<p><b>Problems fixed in GPFS 3.2.1.21 [June 29, 2010]</b></p>
<ul class="ibm-bullet-list">
<li>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.</li>
<li>Serialize xattr registry initialization process.</li>
<li>Fixed deadlock due to sg takeover failure.</li>
<li>Fix EA limit calculation.</li>
<li>Corrected GPL build break on IA64 platform when kernel version is greater than 2.6.16.</li>
<li>Always shutdown GPFS when nfsmonitor detects unrecoverable problems such as statd is inactive.</li>
<li>Generate DMAPI read event when file is deleted and copy to snapshot is needed.</li>
<li>fsck is allowed to steal buffers from files that are low level locked as long as the buffer is not dirty.</li>
<li>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.</li>
<li>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.</li>
<li>Fixed problem in dm_set_dmattr() function so that attribute with common first serveral bytes are set 
correctly.</li>
<li>Synched disk address in a hyper-allocated file now matches the indirect block allocation address when 
allocation fails.</li>
<li>Fsck prints verbose information about the range of regions and the stroage pool it scans for each pass.</li>
<li>Reinitialize ea limit before adjusting it after remount of the file system.</li>
<li>Quota check operation prints approrpiate error messages when conflicting programs are running.</li>
<li>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.</li>
<li>`kill -SIGINT ...` has been supported in all previous code releases.  This update just brings tsapolicy into 
compliance with the defacto standard forhandling SIGTERM.</li>
<li>Turn on the CXIUP_NOWAIT flag when we know that it is safe to use igrab().</li>
<li>Fix internal dmapi attr name comparison routine so that it can compare the string with its true length.</li>
<li>fsck code does not assert trying to look into invalid disk addresses as a result of race with flush buffer 
operation.</li>
<li>Fix assert(ofP->inodeLk.get_lock_state()).</li>
<li>CreateReservedFiles checks the number of blocks to be written to inode file before starting threads.</li>
<li>Fix variable initialization that could cause "mmcheckquota -a" to terminate.</li>
<li>Detect missing definition for mmlsfileset utility and define it if needed.  Earlier version of globfuncs do 
not have mmlsfileset utility defined.</li>
<li>Check for out of memory condition in token revoke handler.</li>
<li>Define I_LOCK if it is not already defined in Linux.</li>
<li>Fix dmapi attribute name comparison routine to take the short length into account.</li>
<li>fsck code does not assert trying to look into invalid disk addresses as a result of race with flush buffer 
operation.</li>
<li>Improve takeover time when using tiebreaker disks in certain cases.</li>
<li>Choose a bitmap size based on gpfs_statfs64() call to see how many inodes actually in use.</li>
<li>Fix failure due to expel cmd being run during disk election in tiebreakerdisk cluster.</li>
<li>This update addresses the following APARs: IZ76391 IZ77298 IZ75263 IZ75575.</li>
</ul>
</p>
</div>
</div>

<div class="ibm-container">
<div class="ibm-container-body">
<a name="32120"></a> 
<p><b>Problems fixed in GPFS 3.2.1.20 [June 9, 2010]</b></p>
<ul class="ibm-bullet-list">
<li> Use the disk availability information from the daemon for
  the mmlsdisk -m/-M options.</li>
  <li>Fix a sig#11 problem during sg disk table update.</li>
  <li>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.</li>
  <li>Fix a rare assert caused by RelinquishAttrByteRange thread.</li>
  <li>Fix some performance problems when reading large files from
  NFS clients.</li>
  <li>Remove redundant message about loading policy rules on file
  system manage node's mmfs.log file.</li>
  <li>Unlink fileset to wait for asynchronous recovery to finish
  before checking the fileset's files for activity.</li>
  <li>Exception using a spin_lock in fasync_helper during fcntl
  revoke.</li>
  <li>Avoid corrupted snapshot files in unusual case of open
  unlinked files.</li>
  <li>Fix assert DE_IS_FREE(fP) in direct-common.C.</li>
  <li>Allow change directio flag for immutable files.</li>
  <li>Fix a GPFS deadlock that occurs on Linux, under high load
  conditions, with memory pressure and memory mapped files.</li>
  <li>Fix code that could cause assert after node fail while
  running fsck.</li>
  <li>Fix code causing an assert after manager node failed
  during filesystem manager takeover.</li>
  <li>Fix problem for tsmigrated migrate to new clmgr node when
  clmgr node changed.</li>
  <li>Avoid deadlock on Linux with small maxFilesToCache and
  very frequent file creates and deletes.</li>
  <li>Ensure the mmsdrserv process is not killed if it uses its
  own separate TCP port.</li>
  <li>Fix a deadlock involving read-write mmap under heavy
  stress.</li>
  <li>Fix a case where higher-level indirect blocks were not
  being flushed when they were supposed to be.</li>
  <li>Add input validation for xattr value size.</li>
  <li>Change mmfileid to find "invalid" disk addresses when
  using the :BROKEN keyword.</li>
  <li>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.</li>
  <li>Correctly bypass NFS client getting "permission denied"
  when "subdir/.." is looked-up internally.</li>
  <li>Fix mmexectsmcmd to tolerate error return codes such as
  4, 8 and interpret as non-fatal.</li>
  <li>Avoid GPL compiling warning. Use void* instead of struct
  inode* in cxi file and cast it in OS specific file.</li>
  <li>Fix a race condition between mmnfsdown and mmnfsup so
  that mmnfsdown can kill all nfsmonitor processes.</li>
  <li>Fix for a rare deadlock during recovery on Windows.</li>
  <li>Avoid chance of deadlock when updating shared
  directory under high load.</li>
  <li>Verify interface is up (IFF_UP) before processing it.
  Interfaces brought down using "ifconfig <if> down"
  (unlike "ifdown <if>") are returned with SIOCGIFCONF.</li>
  <li>Rework handling automount on RHEL 5 or SLES 11.</li>
  <li>Avoid a rare failure accessing a directory long after
  concurrent updates.</li>
  <li>Fix array out of bound problem in eaRegistry dump
  function.</li>
  <li>Fix problem in fully replicated filesystem which will
  not mount if all the disks in one FG are stopped and
  suspended.</li>
  <li>Fix assert caused by rare CPU cache inconsistency
  situation on X86_64 hardware.</li>
  <li>Check whether mmfs.log.previous file exists before
  renaming it.</li>
  <li>Fix a rare assert during multi-node create and delete
  races.</li>
  <li>Defensive check to ensure that an entry with a
  zero-length name is never inserted into a directory.</li>
  <li>Correct permission-denied errors when nfsd rebuilds
  dentry trees on 2.6.27 (or later) kernels.</li>
  <li>Retry deadlocks on rlMutex when called from
  RecLockReset to cleanup advisory locks.</li>
  <li>This update addresses the following APARs: IZ73005
  IZ74241 IZ74537 IZ74541 IZ74545 IZ74546 IZ74548
  IZ75128 IZ75249 IZ75251 IZ75257 IZ75771.</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32119"></a> 
<p><b>Problems fixed in GPFS 3.2.1.19 [April 1, 2010]</b></p>
<ul class="ibm-bullet-list">
<li>Fix for a rare race condition during disk address lookup of a 
newly allocated address under heavy load.</li>
<li>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.</li>
<li>Fix disklease inconsistencies between clmgr resetting 
lastLeaseProcessed and the client resetting lastLeaseReplyReceived.</li>
<li>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.</li>
<li>Correct the ineligibilityReason_id2name macro definition which 
will result in unknown id2name error during trace formatting.</li>
<li>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.</li>
<li>Remove spurious errors in the mmfs.log.latest file about 
Expanded inode file.</li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
<li>Memory related problems from cppcheck were corrected.</li>
<li>Fix missing out-of-memory check in get inode routine.</li>
<li>Fix mmfsck so that it could handle badly damaged inode better 
when relica count went bad.</li>
<li>Fix SLES 11 automount. Only one automount daemon can be started 
in SLES 11.</li>
<li>Allow mmchnode --cnfs-enable to accept trailing spaces in network 
config file.</li>
<li>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.</li>
<li>Fix problem where filesystems created by GPFS release 2.3 or 
older were not mountable by GPFS release 3.2 or 3.3.</li>
<li>Fix the code which caused GPFS daemon to assert after filesystem 
panic on FS manager node.</li>
<li>Inherit ACL entries based on filemode (should be the default ACL mode).</li>
<li>Correct a Windows problem when running mmmount all_remote for a 
Windows node.</li>
<li>Fix for a very rare race condition where a non-DIO read from a 
cached buffer may transiently return partially incorrect data.</li>
<li>Fixes issues in minorityQuorum clusters that have leaseDuration 
set and have migrated from 2.3 to 3.2.</li>
<li>Fix to tolerate an inconsistent state of Windows security settings 
on an inode following a failed TSM restore.</li>
<li>Fix mmdeldisk syntax error message.</li>
<li>This update addresses the following APARs: IZ72671 IZ72999 IZ72998 
IZ72689 IZ73002 IZ73345</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32118"></a> 
<p><b>Problems fixed in GPFS 3.2.1.18 [February 25, 2010]</b></p>
<ul class="ibm-bullet-list">
<li>Fix bug in mmchnode --cnfs-interface change option.</li>
<li>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.</li>
<li>Fix for a rare race condition that may result in a "Busy inodes after 
unmount" syslog message on Linux.</li>
<li>Fix counting the chars correctly when filename consists invalid UTF8 
chars.</li>
<li>Fix a race condition between deldisk and deallocation of surplus 
indirect blocks that could result in dangling block pointers.</li>
<li>chrdev_open hits BUG call in list_add (device list is corrupted).</li>
<li>Fixed inode expansion code which can cause restripe to fail with an 
assert.  This problem only happens when restripe and inode expansion 
run concurrently.</li>
<li>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.</li>
<li>Prevent HSM and NFS from asking to open inodes that are system 
metadata nodes.</li>
<li>Load policy file on sgmgr node when file system is mounted somewhere 
so that low space threshold always set when file system is mounted.</li>
<li>If the file system is internally forced to unmount (file system 
panic), invoke the preunmount user exit if one is installed.</li>
<li>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.</li>
<li>Fix problem with mmlsfileset when expanding inodes is running.</li>
<li>Ensure raw trace files are preserved after a node reboot.</li>
<li>Return EMEDIUMTYPE rather than ELNRNG for incompatible format errors 
on Linux system.</li>
<li>Fix fsck so that it detects problems and fixes them without encountering 
struct assert errors even if the 'assertOnStructureError' config option 
is turned on.</li>
<li>Notify dm_get_events that the session already failed after quorum lost 
in the cluster.</li>
<li>Fixed potential assert when writing small files via NFS under heavy load.</li>
<li>Fix spurious EIO errors accessing hidden .snapshots directories enabled 
via "mmsnapdir -a".</li>
<li>Allow case insensitive node identifier in specfile.</li>
<li>Improve performance of large file create when DIO is used.</li>
<li>Error conditions returned due to failed metadata flush operation are 
handled appropriately preventing the restripe operation from asserting 
due to failed checks.</li>
<li>Fix fsck code so that it doesnt report the corrupt addresses problem 
that it claimed to have fixed during the previous fsck run.</li>
<li>Fixed hardlink assertion problem when upgrade file system from 2.3 to 
3.3 or later.</li>
<li>Fix code to avoid holding mutex twice while revoking token encounters SGPanic.</li>
<li>Remove stat() calls in the mmshutdown path.</li>
<li>Fix assert s_magic == GPFS_SUPER_MAGIC on kernel 2.6.16.60-0.59.1 and above.</li>
<li>Fixed an allocation loop which could occur during mount and 
rebalance of a filesystem.</li>
<li>Fix mmbackup to divide up the list of files that need backup 
based on filesize when numberOfProcessesPerClient=2 (or more).</li>
<li>This update addresses the following APARs: IZ67745 IZ68029 IZ68724 
IZ68773 IZ69478.</li>
</ul>
</p>
</div>
 
</div>
 
 
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32117"></a> 
<p><b>Problems fixed in GPFS 3.2.1.17 [January 14, 2010]</b></p>
<ul class="ibm-bullet-list">
<li>Stripe group configuration change so data block loss cannot 
occur if data is being ingested along with the configuration changes.</li>
<li>Fix policy handling of rules of the form "EXCLUDE FROM POOL" to 
prevent LOW_SPACE events from incorrectly being logged.</li>
<li>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.</li>
<li>Replace the lsvg command with getlvodm.</li>
<li>Fix ioctl opcode conflict with FIGETBSZ on Linux kernel 2.6.31 
and later.</li>
<li>Fix fsck to avoid incorrect reporting and fixing of filesystem 
corruption in a heterogeneous cluster.</li>
<li>Avoid confusion when using a local fcntl lock versus an NLM one.</li>
<li>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.</li>
<li>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.</li>
<li>Do not stop NFS or unexport fs on quorum loss. Kill NFSDs that 
are stuck during setNfsdProcs.</li>
<li>Prevent occasional hang under high stress when several nodes 
concurrently share multiple directories.</li>
<li>Fix mmdelnode syntax error checking.</li>
<li>Fix data corruption when using mmap.</li>
<li>Avoid kthread waiters in cNFS clusters after failover.</li>
<li>Fixed the allocation code which caused a loop during metadata 
allocation.  This problem only affects filesystem with metadata 
replication enabled.</li>
<li>Fix mmbackup incremental to handle conversion from short 
filename records to new longer records after upgrade to 3.2.1.14 
or later.</li>
<li>Fix Linux "mmnfsinit start" command and return correct return code.</li>
<li>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.</li>
<li>Add support for -N nodeList option in mmbackup version 3.1 and 3.2.</li>
<li>Keep FS descriptors off of excluded disks even if they come online.</li>
<li>Fix assert failure on FS manager node when 
unmountOnDiskFailure=yes and a disk fails after 3.2.1.14-16 
installed.</li>
<li>Reduce number of inodes copied to snapshots.</li>
<li>Do not let socket get stuck in reconn_cleanup state following 
repeated breaks that occur just after connection handshake completes.</li>
<li>Reduce the pagepool usage by inode allocation segments during FS 
manager initialization or recovery.</li>
<li>Fix a problem with cutting traces in a CNFS setup.</li>
<li>Fix filesystem panic when a failed disk holds a FS descriptor 
and returns unexpected error codes.</li>
<li>Ignore un-supported permission flags passed to gpfs_i_permission 
on SLES11.</li>
<li>Correct intermittent bug where mmlsfileset fails to show junction paths.</li>
<li>Fix for a rare race condition that may cause an assert in the 
invalid fileset object disposal path.</li>
<li>Fix for a SIGSEGV on Windows caused by a race in accessing the ACL file.</li>
<li>Correct processing to prevent quota requests from being 
performed while the quota manager operations are being quiesced.</li>
<li>Fixed error handling for ibv_reg_mr call.</li>
<li>Correct a rare problem (due to an error encountered writing 
quota files) that can prevent a newly created filesystem from 
being mounted.</li>
<li>Fixed a problem which prevents filesystem remount after a forced 
umount due to error(ie. filesystem panic,quorum loss, etc).</li>
<li>Fix quota manager cleanup when file system manager migrates.</li>
<li>Fix a file structure error caused by SetAllocationSize.</li>
<li>Handle IB port event of LID change.</li>
<li>Correct a problem when verifying that the daemon is down from a 
Windows node.</li>
<li>Fix signal 11 due to bad RDMA index and cookie received from the 
TcpConn in verbs::verbsClient_i.</li>
<li>Fix possible deadlock restriping a file system with data 
replication enabled under application load and with small pagepool.</li>
<li>Warning messages on conflicting opertaions are sent to stderr to 
avoid littering stdout.</li>
<li>Resolved an issue that in rare cases could cause GPFS to 
terminate when tracing is enabled.</li>
<li>Fix a problem in mmdf where number of free inodes may become negative.</li>
<li>Fix race condition that occurs due to disk failure during clmgr 
election while using tiebreaker disks.</li>
<li>Fix assert "offset < ddbP->mappedLen" when reading dirs.</li>
<li>Fix allocation manager problem that caused pool to not be 
deleted when it should have been.</li>
<li>Fix assert due to invalid fcntl acquire sleep element found on 
the kernel queue.</li>
<li>Fix a rare bug that occurs during nsd config change along with 
earlier disk issues to another deleted nsd.</li>
<li>Fix a problem that can lead to loss of an intermediate SSL key file.</li>
<li>Fix a problem with interpreting the syncnfs mount option.</li>
<li>Fix an assertion during mount that could happen when quota 
management is enabled and snapshot is being used.</li>
<li>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.</li>
<li>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.</li>
<li>This update addresses the following APARs: IZ63351 IZ65194 
IZ65380 IZ65414 IZ65614 IZ66577 IZ66881 IZ66894 IZ67312 IZ67542 
IZ67543 IZ67545 IZ67548 IZ67624.</li>
</ul>
</p>
</div>
 
</div>
 
 
 
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32116"></a> 
<p><b>Problems fixed in GPFS 3.2.1.16 [November 12, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Ensure mmexportfs does not remove tiebreaker disks unless device 
name is "all".</li>
<li>Fix kernel exception in fifo_open due to an invalid i_pipe 
pointer.</li>
<li>Increase prefetchThreads+worker1Threads+nsdMaxWorkerThreads to 
1500 on AIX 64bit systems.</li>
<li>Improve SMP scalability in the DIO code path.</li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
<li>Add an new file system option --filesetdf.</li>
<li>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.</li>
<li>Fix mmpolicyExec-hsm.sample to handle characters \ " and ' in 
filenames properly so that they work in HSM file list.</li>
<li>Fix deadlock during FS manager takeover if previous FS manager 
and its disks (site failure) fail at the same time.</li>
<li>Fix DMAPI enabled filesystems when they are mounted on top of 
another GPFS filesystem.</li>
<li>Fixed GPFS hang when recalling files.</li>
<li>When running lsvg do not wait for the volume group lock.</li>
<li>Fixed performance problem while migrating files.</li>
<li>Acquire the stripe group descriptor mutex before changing the 
quota files inode information in the stripe group descriptor.</li>
<li>Fixed the allocation code which caused an infinite loop when 
running out of full metadata block.</li>
<li>Correct a problem when changing the admin node name of a server node.</li>
<li>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.</li>
<li>Avoid crash in rare cases of concurrent multi-node file creates.</li>
<li>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.</li>
<li>This update addresses the following APARs: IZ59644 IZ62776 IZ63168 IZ63169 
IZ63170 IZ63206.</li>
</ul>
</p>
</div>
 
</div>
 
 
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32115"></a> 
<p><b>Problems fixed in GPFS 3.2.1.15 [October 8, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Add more information about which filesystem a disk may already 
belong to if known.</li>
<li>Fix for recently created filesystems using a 384KB block size 
and a very large directory getting unexpected failure with EFBIG 
during create.</li>
<li>Fixed memory corruption when dmapi destroy event is enabled.</li>
<li>Collect more NFS export information during gpfs.snap.</li>
<li>Fix cancel blocking lock over NFS.</li>
<li>Fixed daemon assert when deleting files from a dmapi enabled 
filesystem.</li>
<li>Check that we have enough revoke threads.</li>
<li>Fix problem where munlinkfileset with the -f option killed 
programs using mmap.</li>
<li>During a stripe group mount, ignore the 'exclDisks' mount option 
for a filesystem in a remote cluster.</li>
<li>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.</li>
<li>Fixed problem that file migration not started after file system 
manager node changed.</li>
<li>Fix performance degradation for multi-node directory updates 
after a large number of deletes.</li>
<li>Fixed tsmigrated problem that handles lowSpace events, 
automatically restart on new clmgr node.</li>
<li>Use ethtool to monitor all interfaces other than infiniband and 
bonding.</li>
<li>Fix rare assert that occurs when a bad contact node is specified 
in remote cluster configuration.</li>
<li>Fix mmap file token revoke to relinquish and invalidate mapped 
pages in the correct ranges.</li>
<li>Fix a hang in certain scenario following mmsetquota -j.</li>
<li>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.</li>
<li>Fix gpfs.snap error in cluster with similar hostname and/or 
collecting data on a shared filesystem.</li>
<li>Fix return from findRecoveryNode.</li>
<li>Fix looping allocation in restripe when some disks are suspended 
and some disks are nearly full.</li>
<li>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.</li>
<li>Prevent offline fsck from crashing the deamon while fixing 
orphans in a dmapi enabled filesystem.</li>
<li>Fix mmapplypolicy to correctly handle pathnames with shell 
metacharacthers anywhere within a GPFS filesystem.</li>
<li>Ensure mmfsctl syncFSconfig does not affect free disks unless 
device name is "all".</li>
<li>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.</li>
<li>Ensure mmaddnode fails if the IP address already appears in the 
cluster.</li>
<li>Prevent quota quiescing operations from being performed again if 
the stripe group manager quiescing operations are restarted due to 
an exception.</li>
<li>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.</li>
<li>Ensure internal temporary files needed by mmgetstate are always present.</li>
<li>Validate user input for NSDid when using mmdelnsd with -p option.</li>
<li>Ensure mmsdrserv is started on the server nodes after an AIX install.</li>
<li>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.</li>
<li>Fix rare assert that occurs if a node joins in the middle of 
clmgr challenge-response sequence.</li>
<li>Fix snmp polling handler refresh scheme to get some GPFS state changes.</li>
<li>Fix restripe code to perform rebalance even if file is illreplicated.</li>
<li>Correct a problem with logging when a one of the failure groups 
in a replicated file system is full.</li>
<li>Acquire the stripe group descriptor mutex before changing the 
quota files inode information in the stripe group descriptor.</li>
<li>Correct exception in lock_get_status during fcntl revokes on Linux.</li>
<li>Added code to syncronize the free allocator counter when the 
file system manager is exiting to avoid assertion from happening 
in some rare cases.</li>
<li>Fix tsstatus -m to return rc 2 if the file system is not mounted anywhere.</li>
<li>Fix an assertion due to synchronization problem between events 
exporter initialization and its sendHandler thread.</li>
<li>Avoid daemon failure due to unusual pattern of directory updates.</li>
<li>Ensure that quiesce sleepers are woken up if the stripe group 
manager take over happens during quiesce operations.</li>
<li>Avoid slowdown in certain highly multi-threaded situations when 
GPFS block size is large.</li>
<li>Correct a rare logging problem in snapshot code.</li>
<li>Fix a SIGSEGV during file system panic message generation on AIX 
with 32-bit kernel.</li>
<li>Ensure that multi log directory updates are not held up waiting 
for spool done thread log wrap to complete.</li>
<li>Fix for a rare race condition in cleaning up cached data about 
fileset objects.</li>
<li>Fix rare deadlock during fsmgr node failure recovery that has a 
policy file.</li>
<li>Fix for Assert (lockRangeNode != NODE_NONE) in line 4177 of file llio.C.</li>
<li>This update addresses the following APARs: IZ59355 IZ60281 IZ60287 
IZ60289 IZ60335 IZ60583 IZ60595.</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32114"></a> 
<p><b>Problems fixed in GPFS 3.2.1.14 [August 20, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Fix memory leak that may occur when a node that serves NFS and 
has active locks fails over.</li>
<li>Have gpfs.snap gather disk data for disks that mmdevdiscover 
would find, not just the local disks.</li>
<li>Fix potential for infinite loop when nfsd/nfsmonitor encounters 
an error.</li>
<li>Remove deadlock by passing kernel opereration from NFS to gpfsClose.</li>
<li>Avoid hang under very heavy load when multiple filesystems are used.</li>
<li>Invoke the syncfsconfig user exit after mmchconfig disk related changes.</li>
<li>Fix problem that could cause deadlock in some rare cases after a 
node receives unrecoverable I/O errors from the disk subsystem.</li>
<li>Performance improvement for NFS clients.</li>
<li>Fixed potential memory corruption in fcntl lock area.</li>
<li>Fixed problem in dm_handle_to_path() function so that it returns 
path length correctly.</li>
<li>Fix snapshot code which caused an assert after delete snapshot 
failure.</li>
<li>Allow lowering the worker1Threads configuration setting dynamically.</li>
<li>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.</li>
<li>Fix mmbackup to handle pathnames up to 4096 bytes long.</li>
<li>Support AIO interfaces for kernel earlier than 2.6.19. <br/>
<b>Note:</b> this is actually synchronous, GPFS 3.2 doesn't support 
true AIO semantics.</li>
<li>Run node failback asynchronously and check for IP release using 
arping.</li>
<li>Fix sample script ilm/mmpolicyExec-hsm.sample to handle spaces 
(blanks) in filenames.</li>
<li>Fix mmapplypolicy statistic to report proper count of LIST candidates.</li>
<li>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.</li>
<li>Avoid hang under very heavy load when failures cause node recovery.</li>
<li>Correct behavior issuing mmdeldisk after an interrupted 
mmadddisk which could possibly leave a filesystem unmountable due 
to recovery errors.</li>
<li>Allow mmlsfileset command to wait for admin commands to finish.</li>
<li>Fix prformance problem with set/get dmattr.</li>
<li>Improve some NFS sequential file performance.</li>
<li>TSM restore by non-root user failing permission check in 
putOpaquePolicyAttrs.</li>
<li>Avoid hang when unmounting a very active filesystem.</li>
<li>Fix errors on various file ops during mmapplypolicy.</li>
<li>Fixed race condition in mmap directio operations.</li>
<li>Change setacl behavior so non-owner sees error when WRITE_ACL 
permission is not granted.</li>
<li>During quorum loss, force query of stripe group manager.</li>
<li>Fix assert encountered by stat during inode revoke handling.</li>
<li>Fixed a locking order problem in allocation manager recovery code.</li>
<li>Fixed GetSomeDataBlockDiskAddrs to synchronize with metanode takeover.</li>
<li>Fix the assert in dm_create_session() to handle error conditions better.</li>
<li>Prevent assert that occurs if quorum loss occurs during mmchmgr command.</li>
<li>Fix race condition during unmount of a quota enabled file system.</li>
<li>Fixed assert when restriping and closing of a file happens simultaneously.</li>
<li>Avoid mmdf preventing other managment commands from executing 
after a mmdf command failure.</li>
<li>Add better check for local node address during quorum formation.</li>
<li>Fix structure error after mmdelsnapshot caused by incomplete 
dirty indirect block flush.</li>
<li>Fix to check for client socket when scanning inodes file.</li>
<li>Fix rare race condition between quorum loss thread and i/o threads.</li>
<li>Fix handling of an alloc manager recovery message reply that 
caused offline fsck to erroneously exit with too many disks 
unavailable message.</li>
<li>Fix mmap write to pass assigned disk address to doDirectio.</li>
<li>Fixed infinite loop due to bad hash key when looking for 
indirect blocks.</li>
<li>Fixed crash during unmount of dmapi file system on Linux.</li>
<li>Fix printing of mmfsadm eventsExporter responses that are larger 
than 4000 bytes.</li>
<li>Fix a SIGSEGV problem during events export.</li>
<li>Fix hang when changing the cluster manager to a new node.</li>
<li>Support Linux AIO interfaces for kernel that is earlier than 2.6.19.</li>
<li>Fix an assert encountered while executing command mmfileid.</li>
<li>Fixed deadlock during quiesce due to requests being missed 
because they were not in the GlobalWaitQueue.</li>
<li>Avoid assert that occurs if the filesystem is attempted to be 
unmounted during a quotacheck operation.</li>
<li>This update addresses the following APARs: IZ54485 IZ55419 
IZ56130 IZ56131 IZ56249.</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32113"></a> 
<p><b>Problems fixed in GPFS 3.2.1.13 [July 9, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Performance improvement to avoid deadlock when multiple nodes 
empty large directories.</li>
<li>Change mmdeldisk to copy blocks to retain replication while 
doing its scan. This removes the need to do suspend and 
rmmrestripefs before doing mmdeldisk.</li>
<li>Fix cluster manager migration code which can cause an assert 
when migration fails.</li>
<li>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.</li>
<li>Avoid hang after forced unmount interrupts addition of new inodes.</li>
<li>Prevent rare data corruption after node failure just before 
enabling log replication.</li>
<li>Issue error for mmchfs -v if the node is down.</li>
<li>Fix mmrepquota output to display large numerical user ids correctly.</li>
<li>Fix mmunlinkfileset problem on systems with large cache so file 
system operations do not block for an extended period.</li>
<li>Correct return value type of getMaxAcqSeqNo to prevent 32-bit overflow.</li>
<li>Fix for a deadlock between pdflush and GPFS code that occurs 
under heavy mmap load.</li>
<li>Fixed a problem where the sgmgr node thinks that fs is mounted 
on client node(s) when it is not.</li>
<li>Add defensive code to mmdumpkthreads to prevent infinite loop in 
case stack frame is corrupt.</li>
<li>Fix a small timing window where file access within a snapshot 
could deadlock if the original file is being deleted at the same 
time.</li>
<li>Verify /proc/fs/nfsd is mounted before trying to update thread count.</li>
<li>Fix a rare deadlock in quota management when a quota entry is 
removed from the quota file.</li>
<li>Correct extraneous line in mmgetstate -a output.</li>
<li>Fix a defect that could hang GPFS daemon during file system 
manager take over process.</li>
<li>On AIX gpfs_get_realfilename should return ENOSYS and not 
generate SIGILL.</li>
<li>Remove deadlock by passing proper kernel operation to gpfsClose 
wherever it is already in effect.</li>
<li>Fix a problem in the mmpmon histogram facility which can cause a 
kernel exception.</li>
<li>Fix a deadlock during token manager appointment during heavy 
workload.</li>
<li>Prevent deadlocks between HSM recall and filesystem quiesce 
operations for mmbackup, mmcrsnapshot, mmdelsnapshot, or mmfsctl 
suspend.</li>
<li>Fail unsupported disk sector size on nsd create operation.</li>
<li>Fixed a race condition between delsnapshot code and inode 
prefetch worker thread prefetching inodes from snapshot being 
deleted.</li>
<li>Corrected long waiter in quota procesing during unmount of 
filesystem.</li>
<li>Avoid crash when deleting snapshot on fs with very small block 
size.</li>
<li>Fix problems related to preserving file flags (such as 
illReplicated) when blocks are moved into a snapshot.</li>
<li>Fix mmdelsnapshot to skip syncFS error from nodes that no longer 
have the file system mounted.</li>
<li>Fix for a rare assert that occurs if multiple mmchmgr commands 
are used to move file system manager around in a quick succession.</li>
<li>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.</li>
<li>Fix a problem in gpfs_getacl.</li>
<li>Fix a rare race condition caused by concurrent mmdelfileset and 
mmchmgr in a quota enabled file system.</li>
<li>Fix a rare race condition caused by concurrent mmdelfileset and 
mmchmgr in a quota enabled file system.</li>
<li>Fixed error in mmaddcallback command with -N quorumNodes option 
to only add to quorum nodes.</li>
<li>GPFS on AIX should be able to terminate cleanly.</li>
<li>Fix code to correctly show nested fileset junction path for 
command mmlsfileset.</li>
<li>Fix the size_t data type of the length component in the mmap 
ne and pass the value appropriately.</li>
<li>Correct intermittent error in m4 expansion of policy.</li>
<li>Fix the problem that lxtrace off or gpfs hangs on Linux nodes 
when lxtrace daemon is killed by SIGKILL.</li>
<li>Suppress warning during GPL build.</li>
<li>Fix an assert caused by incomplete cleanup of a failed 
mmdelsnapshot command.</li>
<li>Fix for a race condition between inode expansion and file system 
manager migration.</li>
<li>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.</li>
<li>Fix code which can cause a signal 11 while adding, deleting or 
replacing a disk.</li>
<li>Avoid unexpected growth of the inode file during FS manager takeover.</li>
<li>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.</li>
<li>Fix potential memory corruption in IO waiter handler.</li>
<li>Fix race that occurs if a node goes down and comes back before 
the peer recognizes the socket connection break.</li>
<li>setxattr(ACL) was setting aceLength incorrectly causing mmgetacl 
to fail.</li>
<li>Fixed a problem that a false no space error is returned creating 
files when disks still have space left.</li>
<li>Fix creation of allocation maps when some LUNs have more than 4G 
subblocks.</li>
<li>Make sure arping is done on the real interface when aliases are 
present.</li>
<li>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.</li>
<li>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.</li>
<li>Fixed snap shot creation code so it will respect replication 
strictness setting (-K).</li>
<li>This update addresses the following APARs: IZ52682 IZ53013 
IZ53014 IZ53044 IZ53089 IZ53134 IZ53142 IZ53489 IZ53548 IZ53953.</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32112"></a> 
<p><b>Problems fixed in GPFS 3.2.1.12 [May 28, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Correct handling of mmfsck command on remote node if neither -y 
nor -n flag was specified.</li>
<li>Fix case where filesystem recovery might run while a node was 
not yet completely failed.</li>
<li>Fix handling no space errors and obeying the replica allocation 
policy setting for quota files.</li>
<li>Fix for the "privVfsP != NULL" kernel assert in inode.c.</li>
<li>Fix dereference of stale OpenFile pointer in gpfsMmap.</li>
<li>Fix mmap to avoid mmap related hangs in the Linux IPA program 
analysis, IMAP processing, and AIX binder.</li>
<li>Fix apparent file system hang due to mmdelsnapshot performance 
if a large number of snapshot files had been accessed recently.</li>
<li>Fix mmdumpkthreads/kdump for BlueGene/P IO nodes.</li>
<li>Use direct I/O rather than buffered I/O in multipath environment 
for tspreparedisk.</li>
<li>Avoid segmentation violation on 'mmfsadm dump all' command by 
adding argument validity checking.</li>
<li>Fix pagepool buffer deadlock when writing using invalid 
application buffer memory addresses.</li>
<li>Increase the maximum number of supplemental GIDs supported on 
Linux.</li>
<li>Skip fast directory lookup using fold value on older Linux kernels.</li>
<li>Correct 'df' command output on NFS exported file-set to report 
the same numbers as local.</li>
<li>Properly return open file pointer in cxiCheckOpen to avoid 
filesystem corruption.</li>
<li>Fix handling of pagepool buffers when snapshot files are scanned 
and the active file has both user extended attributes and DMAPI 
attributes.</li>
<li>Do not delete the entries from the quotaEntryTab unless all the 
modified entries have been written to the disks, avoiding an assert.</li>
<li>Avoid deadlock when multiple nodes empty a very large directory.</li>
<li>Do proper endian conversion on imported FskError inode problems 
when imported from a different endian machine.</li>
<li>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.</li>
<li>Make mmrestripefile honor to filesystem's strictness option.</li>
<li>Fix handling of quota file indirect blocks.</li>
<li>Fixed code which can cause an assert during stripe group cleanup.</li>
<li>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.</li>
<li>Fix assert due to narrow race window when a token revoke arrives 
at a node which is panicking the related file system.</li>
<li>Fix assertion that happens when mmcrfs command is interrupted 
before completion.</li>
<li>Fix rare assert due to mmchmgr command running during node recovery.</li>
<li>Avoid Oops in datashipping, change to get data from the mailbox 
before freeing it.</li>
<li>Fixed incomplete error checking when acquiring a byte range 
token for fcntl locking.</li>
<li>fixDirBlock() should translate inode numbers outside the 
allocated range to INVALID_INODE_NUMBER.</li>
<li>Fix assert that can occur during a narrow race window in the 
daemon shutdown sequence.</li>
<li>Correct parsing of mmcrfs -i parameter.</li>
<li>Fix rare deadlock with low worker1threads on BlueGene/P and 
large number of openfiles.</li>
<li>Fix assert caused due to expanding inode file while creating 
snapshots and deleting directries.</li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
<li>Fix for a kernel stack overflow on RHEL4/i686 in 
mmgetacl/mmputacl path.</li>
<li>Fixed loop in error path during snapshot file creation.</li>
<li>Fix a problem in quota client startup and subsequent cleanup 
when file system mount can't succeed.</li>
<li>Fix double free in mmshutdown, change to use _exit() in 
linux_exit.</li>
<li>Fix dereference of stale OpenFile pointer in gpfsMmap.</li>
<li>Validate timestamps when WatchDog thread is used to check hung 
thread periodically.</li>
<li>In case of an non .. entry with invalid inode number, fsck 
prompts user with the message that the entry needs to be removed.</li>
<li>Fix asserts due to quorum loss when revokes are pending to local 
node in remote cluster context.</li>
<li>Fixed assert during processing of mmrestorefs command.</li>
<li>Do not allow -N to be specified with mmchconfig dmapiMountEvent=xxxx .</li>
<li>Account for a missing [common] line in the mmlsconfig output.</li>
<li>Fix incorrect number of inodes used or free shown by 
df -iv. Prevent premature inode file expansion.</li>
<li>Fix immutable file code which caused long waiters when running 
mmchattr -i command.</li>
<li>Fix assert that occurs in mmcrfs when it is run with a large 
(~2 billion) number of preallocated inodes specified.</li>
<li>Fix problem when system log files are left on a disk that was 
changed to be "descOnly" disk.</li>
<li>Correct Linux daemon shutdown sequence in order to wait for 
child processes (opened by user exits or pipe) to finish.</li>
<li>Fix a broken network connection problem between datashipping 
nodes, add NULL address processing.</li>
<li>Remove Linux vfsUserCleanup which kills processes with a current 
working directory in a file system being force-unmounted.</li>
<li>Fixed node crash when shutting down gpfs due to mmap counter 
problem.</li>
<li>This update addresses the following APARs: IZ43334 IZ48161 
IZ48580 IZ50228 IZ50229 IZ50230 IZ50231 IZ50233 IZ50359 IZ50369 
IZ50837.</li>
 
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32111"></a> 
<p><b>Problems fixed in GPFS 3.2.1.11 [April 24, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Avoid structure errors in create while inode expansion is running.</li>
<li>Prevent recovery errors following a crash during mmdeldisk.</li>
<li>Keep quotas current if replication changed by restripe.</li>
<li>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.</li>
<li>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.</li>
<li>Fix quota accounting with snapshot block changes.</li>
<li>Improved handling of error description data during error processing.</li>
<li>Fix rare single node hang due to stripegroup panic and quorum 
loss during restripe.</li>
<li>Allow support of unicode filenames in the policy language.</li>
<li>Fix logFile allocation errors on a specified disk.</li>
<li>Fix deadlock encountered during mmap reads.</li>
<li>Avoid log asserts during directory search.</li>
<li>Fix incorrect block calculation when using gpfs_preallocate.</li>
<li>Avoid printing recovering/recovered messages in remote cluster 1 
about remote cluster 2.</li>
<li>Fix multicluster error message to give correct remote cluster.</li>
<li>Adjust GPFS-MIB.txt due to changes in the cluster configuration 
class.</li>
<li>Avoid kernel exception when allocating LLOpenFile ojects from 
the shared segment.</li>
<li>Prevent multiple mmchmgr -c commands from running simulatenously.</li>
<li>Fix log assert during stripe group take over.</li>
<li>Fixed a race condition between sync and create snapshot operations.</li>
<li>Fix rare deadlock between mmchmgr -c and quorum loss.</li>
<li>Change mmexpelnode to allow unexpell of all expelled nodes in 
the cluster.</li>
<li>Fix a problem in restripe of snapshot copies of fileset metadata 
files.</li>
<li>Correct non-root user handling of tsfsattr return code if kernel 
extension already set errno.</li>
<li>Keep quotas current if replication changed by restripe.</li>
<li>Improve monitoring of network components and recovery times for 
CNFS failures.</li>
<li>Fix segmentation violation encountered during command 'mmfsadm 
dump all' or daemon crash.</li>
<li>This update addresses the following APARs: IZ44952 IZ47466 IZ47467 IZ47468 IZ47757.</li>
 
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="32110"></a> 
<p><b>Problems fixed in GPFS 3.2.1.10 [March 12, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Verify that intermediate versions of /etc/filesystems and /etc/fstab are not empty.</li>
<li>Strengthen input specification checking for the mmfileid command.</li>
<li>Fixed output of 'tslsfs -Y' for maxExpectedDiskI/OLatency.</li>
<li>Ensure that mmchconfig release=LATEST removes the old 
maxFeatureLevelAllowed value.</li>
<li>Fix log recovery in a rare situation arising when a node fails 
just after disk failure in a stripe group with replicated metadata.</li>
<li>Fix for mmmount to attempt mounting remote file systems when the 
node is in arbitrating state.</li>
<li>Fixed issue processing error signals on Windows which could have 
lead to a secondary problem when processing the error.</li>
<li>Explicitly set the mode of the intermidiate SSL key files.</li>
<li>Fix cases where mmpmon may not recognize certain host names in 
certain configurations.</li>
<li>Cap maxBufferDesc at 10*maxFilesToCache.</li>
<li>AIX errno improperly translated by Linux node resulting in 
misleading message.</li>
<li>Fix for a spurious abnormal shutdown following stripe group 
manager resignation in complex failure scenarios.</li>
<li>Small files already premigrated were not subject to EXTERNAL 
POOL migration.</li>
<li>Change wording of unknown column reference error message in 
mmapplypolicy.</li>
<li>Fix rare deadlock that occurs if a node reboots multiple times 
during the join protocol.</li>
<li>Allow running with nsdMaxWorkerThreads set to 512 on AIX.</li>
<li>Fix hard hang in IO code path.</li>
<li>Correct problem with migrate for files in metadata only system 
pool.</li>
<li>Fix mmapplypolicy display of ATIME error if time was 00:00:00 
1/1/1970 GMT.</li>
<li>Add statistics for LIST, EXTERNAL LIST, and EXTERNAL POOL Rules 
on mmchpolicy and mmapplypolicy commands.</li>
<li>Fixed fsck to update the stripegroup descriptor if it fixed a 
fatally flawed quota inode.<li>
<li>Calculate the available pagepool memory in 64 bit to prevent 
integer overflow.</li>
<li>Reset pathname buff size in gpfs_get_pathname_from_fssnaphandle, 
it will enable user permission check.</li>
<li>Fix segment fault with NULL check in 
gpfs_get_fsname_from_fssnaphandle and 
gpfs_get_snapname_from_fssnaphandle xerror.</li>
<li>Fix rare deadlock that occurs during a quorum loss if a message 
is pending to self.</li>
<li>Calculate index into the subblock map based on the subblocks per 
region for the pool currently being scanned.</li>
<li>Add validity check for array index in mmlsattr.</li>
<li>Print quota initialization problem in console log.</li>
<li>Fix restripe code to honor replication policy setting in 
deciding whether an error has occured.</li>
<li>Apply CIFS persistent information after every successful GPFS 
mount.</li>
<li>Fix rare segmentation violation that occurs if filesystem panics 
under heavy stress.</li>
<li>Fix for a log recovery problem after an interrupted 
mmdelsnapshot command.</li>
<li>Fix fsck to print the right message when user declines to fix a 
compare mismatch error.</li>
<li>Fix a memory leak in mmlinkfileset command.</li>
<li>Fix reference to freed memory after RPC send timeout when using 
a secure connection.</li>
<li>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.</li>
<li>Change the data type of st_size in stat64_user32 and 
stat64_user64 to be Int64.</li>
<li>Fix a conditional check that allowed greater than 255 character 
snapshot name.</li>
<li>Fix problem that trace report can not be more than 2G bytes on 
32-bit Linux nodes.</li>
<li>Change return code of mmchmgr -c to be consistant with mmchmgr.</li>
<li>Fix a timing related bug with mmchmgr -c waiting forever.</li>
<li>Fix rare incomplete shutdown on Linux.</li>
<li>This update addresses the following APARs: IZ42315 IZ44240 
IZ44271 IZ44272 IZ44273 IZ44274.</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="3219"></a> 
<p><b>Problems fixed in GPFS 3.2.1.9 [February 2, 2009]</b></p>
<ul class="ibm-bullet-list">
<li>Correct problem with sendfile on Linux.</li>
<li>Faster cluster manager takeover when tiebreaker disks are used.</li>
<li>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.</li>
<li>Modified method of exporting node failure/recovery events so 
only the configuration manager exports them.</li>
<li>Prevent rare crash when recovering from failure of another node.</li>
<li>Correct error if -V option on mmlsmount is not issued from 
command line.</li>
<li>Correctly gather trace reports.</li>
<li>Send mmshutdown error output to /dev/null not /dev/name.</li>
<li>E_NOENT from kxCommonReclock on an unlock panic's the filesystem.</li>
<li>Fixed /bin/pwd output on AIX NFS server.</li>
<li>Correct err 107 on large directories that can't be cached.</li>
<li>Fix deadlock caused by race condition when adding nodes to 
mmpmon node list.</li>
<li>Correct cleanup of new pool if FS manager dies during allocation 
of the pool allocation map.</li>
<li>Remove leftover respawn log files.</li>
<li>Prevent extremely rare mkdir failure that corrupts the directory.</li>
<li>Prevent mmdf command killing the GPFS daemon when working with a 
filesystem created before GPFS release 3.1.</li>
<li>Fixed a sigsegv during offline mmcheckquota.</li>
<li>Replace ksh93 format of for loop to work with older versions of ksh.</li>
<li>Remote nodes should not participate in pit job and fsck.</li>
<li>Correct install failures if residual files from a previous GPFS 
install are not completely removed.</li>
<li>Fixed problem referencing snapshots by the "latest name" 
established by mmsnaplatest.</li>
<li>Fixed problem with "SNAPID" in a policy rule file.</li>
<li>Add missing block size values to mmcrfs error message 6027-1060.</li>
<li>gpfs_get_winattrs on the .shapshots dir failed.</li>
<li>Fix the Windows fcntl revoke handler to properly hold the inode 
till an unlock is called.</li>
<li>Fix assert that occurs if fsmgr moves while handling dmapi mount 
event.</li>
<li>Fix mmchattr to use the stat64 structure to avoid errors on 
really large files.</li>
<li>Prevent process group pid (0) termination within signal handler.</li>
<li>Fix segfault in "mmfsadm dump" debugging facility.</li>
<li>Remove a spurious libstdc++.so dependency from Linux versions of 
libgpfs.so and libdmapi.so.</li>
<li>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.</li>
<li>Convert MDL writes to write-thru mode. Route MDL writes to regular cached writes.</li>
<li>This update addresses the following APARs: IZ41028 IZ41182 IZ41185.</li>
</ul>
</p>
</div>
 
</div>
 
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="3218"></a> 
<p><b>Problems fixed in GPFS 3.2.1.8 [December 11, 2008]</b></p>
<ul class="ibm-bullet-list">
<li>Do not start GPFS if the gpfsready user exit returns non-zero 
and the verifyGpfsReady configuration parameter is set to yes.</li>
<li>Performance improvement for multi-threaded read-only workloads.</li>
<li>Performance improvement by disabling the pthread cancellation service at 
daemon startup on all platforms.</li>
<li>Explicitly initialize the exception table for the x86_64 platform.</li>
<li>Improved recovery after certain rare forced unmount events.</li>
<li>Improved detection of corrupted directories caused by disk failure.</li>
<li>Fixed memory leak when TCP connections are established between GPFS daemons.</li>
<li>Enabled tsmigrated to run on clmgr node.</li>
<li>Improved behavior during local disk failure to only cause local 
filesystem force unmount instead of unmount on all nodes.</li>
<li>cNFS Grace period fix for multiple failures.</li>
<li>Increased size of largest lun that can be added to the file 
system to 8x the largest lun used to create it.</li>
<li>Allowed mmlsfileset and mmlspolicy to execute concurrently.</li>
<li>Set xattr must set the xattr file length on the local cached 
xattr file even if it didn't allocate the inode.</li>
<li>Improved performance when creating small files.</li>
<li>Corrected size_t arg in kxGetRealFileName.</li>
<li>Fixed cxiStartIO NULL ptr when a disk fails.</li>
<li>Reduced SMP locking contention in certain read/write code paths.</li>
<li>Updated message that is issued when there is an attempt to 
validate or install a policy on external pool.</li>
<li>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.</li>
<li>Fixed race condition in mmcheckquota command.</li>
<li>Fixed for a rare race condition on Linux during GPFS shutdown that 
can cause an oops with do_lookup on the stack.</li>
<li>Fixed rare alloc thread deadlock when a node is under pressure.</li>
<li>Ensured that mmshutdown is not run from a GPFS directory.</li>
<li>Fixed handling of mixed case device names on Windows.</li>
<li>Allowed nsdMaxWorkerThreads of 512 on AIX; previous max was 128.</li>
<li>dm_handle_to_path() will match inode, generation and snapID number.</li>
<li>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.</li>
<li>Improved mmapplypolicy error reporting to accurately note error.</li>
<li>Fixed spurious failures of GPFS commands when kernel.max_pid is 
set to a higher-than-default value on certain 64-bit Linux kernels.</li>
<li>Fixed the handling of long device names (>214 chars).</li>
<li>Fixed the handling of newly named recycle bin folder on Windows 2008.</li>
<li>Fixed problem reading extended attributes from a newly created 
file could sometimes return old attributes of a deleted file.</li>
<li>Use new mutex to serialize IP address in user exit script list.</li>
<li>Fixed the error code returned by GPFS on Windows 2008 during 
overwrite of a memory mapped file.</li>
<li>Allowed mmchfs to set the estimated number of nodes for a 
filesystem. This will only affect new pools created after the 
change.</li>
<li>Forced reboot of node after portmap daemon failure.</li>
<li>Fail cNFS node if shared root directory is not available.</li>
<li>Added new --once and --is-fenced option to the mmexpelnode command.</li>
<li>Fixed race condion in directio write path.</li>
<li>Minor change to fix bug in code that processes and returns a files attributes.</li>
<li>Avoided rare hang during concurrent updates to a shared directory.</li>
<li>Fixed filesize inconsistency on AIX when doing stat in 32bit 
application on 64bit kernel.</li>
<li>Changed cluster configuration dmapiDataEventRetry, use number to 
fine tune the behavior.</li>
<li>libgpfs_gpl merged into libgpfs.  gpfs_gpl.h merged into gpfs.h</li>
<li>Fixed mmap code that fixes close errors when compiling in GPFS.</li>
<li>Make char device immediately available after mknod completes.</li>
<li>Fixed assert following quorum loss when token revoke RPC to self is active.</li>
<li>Properly cleanup filesystem having inodes with fatal errors.</li>
<li>Fixed mmcrfs to allow it to complete with -n 8192 parameter.</li>
<li>Fixed problem with loss of cluster membership when connection is reset.</li>
<li>Fixed mmapplypolicy processing rules of form "LIST ... FROM POOL".</li>
<li>Fixed segmentation fault in trace statement when sending a reply to self.</li>
<li>Fixed the handling of unaligned byte ranges during direct I/O on Windows 2008.</li>
<li>Fixed pagepool size accounting after reducing pagepool size.</li>
<li>Fixed gpfs_quotactl to work with remote file systems.</li>
<li>gpfs_get_winattrs returning GPFS_WINATTR_NORMAL to smbd erroneously.</li>
<li>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.</li>
<li>Fixed potential memory corruption for dm_find_eventmsg() .</li>
<li>Corrected spelling in externalized constant GPFS_SLITE_EXACT_BITS.</li>
<li>This update addresses the following APARs: IZ35703 IZ36685 IZ37398 IZ37419 
IZ37689 IZ37691.</li>
</ul>
</p>
</div>
 
</div>
 
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="3217"></a> 
<p><b>Problems fixed in GPFS 3.2.1.7 [October 23, 2008]</b></p>
 
<ul class="ibm-bullet-list">
<li>Added -N option to mmfileid to limit the nodes used as workers.</li>
<li>Fixed problem in "mmrestripefs -b" so it would properly 
rebalance the file system.</li>
<li>Fixed st_blksize field in stat system call to return the true 
block size rather than always returning 4096, on recent Linux 
kernel versions.</li>
<li>Fixed problem where mmrestorefs could set incorrect file size for 
a file that was appended to since the snapshot being restored was 
created.</li>
<li>Allow pagepools greater than 2G.</li>
<li>Allow cNFS to be enabled if IP is 0.</li>
<li>Added get_name() export operation for Linux.</li>
<li>Corrected CNFS grace period problems.</li>
<li>Always use /bin/ksh to start mm commands on remote nodes.</li>
<li>Fixed system hang problem when disks are almost full.</li>
<li>Fixed case where trace report file exceeds 2G on 32-bit Linux.</li>
<li>Fixed loader problems due to shmat when trying to load from gpfs 
filesystem.</li>
<li>Corrected CNFS exclusive lock failover.</li>
<li>Keep only the 10 most recent system map files.</li>
<li>mmlsfs -o should show rw or ro if they are explicitly set with 
the mmchfs -o option.</li>
<li>Fixed sigsegv in ibv_create_qp due to port down condition.</li>
<li>Do not allow mmchcluster -r /bin/rsh if there are Windows nodes 
in the cluster.</li>
<li>Fixed an ibv_modify_qp error for state IBV_QP_RTR.</li>
<li>Reserved one special worker thread for dmapi use only. When 
worker1Threads is set to N, GPFS create N+1 worker threads to use.</li>
<li>Fixed rename, remove and rmdir cmds to do a caseless search of 
destination filename.</li>
<li>Fixed to prevent long waiters after strip group panic in the 
middle of recovery log operation.</li>
<li>Fixed mmchmgr hang.</li>
<li>Fixed deadlock after running mmapplypolicy following problem 
deleting a storage pool.</li>
<li>locks_remove_flock BUG call on SLES 10 SP2, or 2.6.18 kernels.</li>
<li>Fixed RDMA connection establishment to remote clusters.</li>
<li>Prevented hang during node start in a rare case due to uninitialized 
field.</li>
<li>Fixed assert "!kprocsRunning".</li>
<li>Avoid rare hang during concurrent updates to a shared directory.</li>
<li>Fixed a quotas assert in SetAllocationSize.</li>
<li>Correct the daemon down test when a single node is involved.</li>
<li>When checking space utilization, use df -P.</li>
<li>Workaround fix for assert failure "!ofP->desroyOnLastClose".</li>
<li>Corrected the handling of node names that contain the dash character.</li>
<li>Reduce unnecessary mmfsck error messages or assertion failures 
when inodes are corrupted in multiple ways.</li>
<li>Null pointer dereference in cxiRefOSNode when nfsWatchKproc 
closes a file after unmount.</li>
<li>Limit mmlsattr and mmchattr to work only on regular files or 
directories.</li>
<li>On Linux, tolerate a non-default setting of kernel.pid_max.</li>
<li>Linux kernel 2.6.27 support.</li>
<li>Fixed race condition writing the SGDesc to disk leading to 
inconsistent versions.</li>
<li>Fixed Make_wstring() function to allocate a large enough buffer.</li>
<li>Identifies if the inode is fatally flawed with bad indirection 
level or bad indirection block and queries the user for deletion 
of the inode.</li>
<li>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.</li>
<li>This update addresses the following APARs: IZ28022 IZ32767 IZ32780.</li>
</ul>
</p>
 
</div>
 
</div>
 
 
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="3216"></a> 
<p><b>Problems fixed in GPFS 3.2.1.6 [September 11, 2008]</b></p>
<ul class="ibm-bullet-list">
<li>Fixed getcwd returning ENOENT on Linux.</li>
<li>Fixed crash and data corruption in mmap.</li>
<li>Prevented assert in certain cases after forced unmount during 
concurrent creates or deletes in a shared directory.</li>
<li>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.</li>
<li>Fixed utilities tsreaddir, tsfindinode, and tsbackup to continue 
filesystem directory scan even if there are errors.</li>
<li>Enabled mmsdrrestore to work on multiple nodes.</li>
<li>Fixed rare race condition between sg_mount and 
SFSDoDeferredDeletions while creating new log file.</li>
<li>Fixed case where special characters(colons) in mountpoints would 
cause mount to fail.</li>
<li>Allowed mmaddnode to proceed even if there are files from a previous 
unsuccessful attempt.</li>
<li>Eliminated a rare assert when mounting a filesystem after deleting a 
disk that was added since the last filesystem mount.</li>
<li>Prevented assert in certain cases during heavy load doing concurrent 
creates or deletes in a shared directory.</li>
<li>Implemented mmgetstate -Y option to print output in a colon 
separated display.</li>
<li>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.</li>
<li>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.</li>
<li>Improved performance of multi-node writer test on existing file.</li>
<li>Improved performance of the file close path when multiple instances 
of a file are open.</li>
<li>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".</li>
<li>Fixed assert in dmapi msg handlers when sending an rpc to sgmgr due 
to bad sgInfo.mgr field</li>
<li>VM_IO flag has been masked off in GPFS mmap code to allow parent 
process to ptrace its child process.</li>
<li>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.</li>
<li>Fixed msync EIO failure.</li>
<li>Disabled GPFS case-insensitive lookup on Samba filesystem.</li>
<li>Fixed to prevent deadlock if no free log buffers available during 
force write of recovery log to disk.</li>
<li>Fixed a problem where a large number of threads deleting files could 
cause a deadlock under stress.</li>
<li>Fixed rare race condition between early msgs and group protocol that 
occur during random node failures.</li>
<li>Changed the way minReleaseLevel is calculated.</li>
<li>Prevented deadlock under memory stress when restriping filesystem.</li>
<li>Fixed signal 11 when deleting or renaming a filesystem with NFS locks 
active.</li>
<li>Fixed assert by sync thread while releasing token on open file on 
Linux.</li>
<li>Call "mmremote cleanupDaemon" instead of "mmfsadm cleanup" to 
perform proper cleanup when mmumount is forced on a CNFS-enabled 
node without stopping CNFS first.</li>
<li>If the mode of mmpolicy command is not verbose, ignore initial blank 
lines from the policy file and print out meaningful output.</li>
<li>Fixed a print format in "mmfsadm dump pit" to avoid possible buffer
overflow.</li>
<li>Fixed potential gpfs gpl layer compilation errors in 3.2.1-4.</li>
<li>Clear bigger NFS filehandle size area on AIX 6.1 NFS servers in 
order to prevent /bin/pwd command output problem.</li>
<li>Allowed 3.2 nodes to remote mount fs from 3.1 cluster even when 
persistent reserve is enabled.</li>
<li>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.</li>
<li>Fixed possible endless loop in socket receive under heavy 
communications load.</li>
<li>Fixed mmchconfig to verify that pagepool is at least 4M.</li>
<li>Fixed incorrect data returned from disk read from an NSD server 
following a TCP connection break and reconnect.</li>
<li>Fixed rereadSGDesc to skip reading invalid disk structures in the 
descriptor.</li>
<li>This update addresses the following APARs: IZ28046 IZ28595 IZ31296.</li>
</ul>
</p>
</div>
 
</div>
 
<div class="ibm-container">
<div class="ibm-container-body">
<a name="3214"></a> 
<p><b>Problems fixed in GPFS 3.2.1.4 [July 17, 2008]</b></p>
 
<ul class="ibm-bullet-list">
<li>Fixed hang in pit recovery during node recovery.</li>
<li>Fixed a condition that caused clean buffer threads wait for file system 
descriptor update but the file system is panicked.</li>
<li>Fixed problem where gpfs is looping getting free buffer descriptor.</li>
<li>Fix for a rare deadlock during token recovery when multiple file systems are 
going through recovery simultaneously.</li>
<li>Fixed lost membership issue when quorum designation changes while using 
tiebreaker disks.</li>
<li>Samba instantiated case-insensitive dentries remain after file is deleted.</li>
<li>Fixed deadlock in mmap page write trying to make indirect block valid.</li>
<li>Fixed remote node recovery being impacted due to local recovery problems.</li>
<li>Fixed mount hang, after fs panic and mmchmgr -c.</li>
<li>Fixed potential deadlock for dmapi respond event, when commiuncation between 
session node and event node is broken.</li>
<li>Fix segmentation violation if socket reconnection occurs while a resendable 
RPC transmission is in progress.</li>
<li>Unable to access GPFS files via SoFS due to bad cxiIsSuperUser check.</li>
<li>Fixed problem where STM_Migrate returns during an iterator loop without 
calling LastObj to detach.</li>
<li>Fixed assert (advObjP == ofP->advLkObjP) when state not cleared on last 
close.</li>
<li>Fixed a too strict assert in GPFS socket connection path.</li>
<li>Fixed problem during write operation when checking dmapi disposition change.</li>
<li>Fixed mmchmgr -c to assign a new target if the specified targetnode failed to 
takeover.</li>
<li>Fixed writebehindActive assert after I/O errors caused SG panic.</li>
<li>Allowed max shared segment size to be up to 2G on AIX 64-bit.</li>
<li>Fixed kernel seg fault when doing mkdir on AIX 6.1 systems.</li>
<li>Fixed race condition between mmchmgr -c and quorum loss thread.</li>
<li>Fixed a problem which occurs when using mmimportfs to import an older 
filsystem where the cluster type was of type "SP".</li>
<li>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.</li>
<li>Fixed problem in locating free space on newly added disks.</li>
<li>Improved performance of restoring sparse files when using mmrestorefs of a 
previous snapshot.</li>
<li>This update addresses the following APARs: IZ24951 IZ25168.</li>
</ul>
</p>
 
</div>
 
</div>
 
 
<div class="ibm-container">
 
<div class="ibm-container-body">
<a name="3213"></a> 
 
<p><b>Problems fixed in GPFS 3.2.1.3  [June 16, 2008]</b></p>
 
<ul class="ibm-bullet-list">
<li>Additional error checking for mmchnode.  This fix will prevent the 
customer from inadvertently rendering their nodes useless especially when 
changing the admin/daemon interfaces.</li>
<li>Fixed mmfsck to safely check a directory with corrupt entries.</li>
<li>Fixed unmount code to clear stalled mount flags.</li>
<li>Correct space error conditions from mmrpldisk command.</li>
<li>Fixed segfault that may occur in unusual circumstances while 
collecting debug dump data.</li>
<li>Fixed assert during token cleanup or token migration because it 
could not release some tokens due to tRefCount.</li>
<li>Fixed deadlock in snapshot commands if they are invoked in a 
narrow time window during which mmfsck is finishing.</li>
<li>Fixed "findSock(socket) == NULL" assertion failure that can happen 
if mmsdrcli getObj is run while the tsnsdaccess or tsnsddiscover 
command is finishing.</li>
<li>Fixed the mmputacl/mmeditacl commands which when used on NFSV4 
acls would not accept user and group names with a space character 
in between.</li>
<li>Fixed racing problem of reading/write file and migrating the 
file for HSM.</li>
<li>Fix for a rare failed assertion condition following asynchronous 
recovery on Linux after an interrupted deletion of a file open on multiple 
nodes.</li>
<li>Fix a situation that prevents cleaning up of an 
almost-completely deleted snapshot if the daemon fails during a 
narrow time window.</li>
<li>Fixed race condition dealing with socket reconnects.</li>
<li>Correct parsing of names, to properly reject the backslash character.</li>
<li>Prevent rare assert when using mmrestripefs on a busy 
filesystem.</li>
<li>Avoid rare assert after forced unmount during heavy load.</li>
<li>Fixed race condition between mmchdisk <stop> cmd and i/o to the 
disk being stopped.</li>
<li>GPFS configuration option to disable case-insensitive Samba lookups.</li>
<li>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") .</li>
<li>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.</li>
<li>Fix error when deallocating low-level files after running out of 
space.</li>
<li>Cancel the unmout if the preunmount exit returns nonzero and -f 
is not specified.</li>
<li>Fixed a problem where deleting or renaming a file system could 
cause deadlock if a new file system is created using the old name.</li>
<li>Fixed listing of .snapshots dir, when readdir is called with small 
buffer.</li>
<li>Fix for an oops in cxiRegisterCleanup during GPFS startup on Xen 
kernels.</li>
<li>Export user provided environment variables prior to starting the 
main GPFS daemon.</li>
<li>Fixed slow memory leak in a cluster with a high rate of broadcast 
RPCs.</li>
<li>Fixed thread allocation for receivers, affects systems with 
large number of cpus like 512.</li>
<li>Fixed segmentation fault due to sockets being migrated during node 
recovery.</li>
<li>Fixed a window where a combination of node failures and transient 
file system errors could cause file system corruption.</li>
<li>Un-initialized file pointer (fl_file) passed to posix_lock_test.</li>
<li>If -N is explicitly specified on the gpfs.snap command, do not 
assume -a as well.</li>
<li>Fixed problem where AIX/NFS client gets EACCES on a blocking 
advisory lock call (it should block).</li>
<li>Prevent data corruption in rare conditions following a forced 
unmount due to disk failure.</li>
<li>Fixed a window where a combination of node failures and 
transient file system errors could cause file system corruption.</li>
<li>Fixed missing cxiBlockingMutexTerm calls in advisory locking 
paths.</li>
<li>Fixed SEGV when accessing unintialized buf pointer after 
getData().</li>
<li>The mmgetacl command should display inherrited FileInherit ACEs as 
InheritOnly for directories.</li>
<li>In a CNFS cluster; cancel the unmout if the preunmount exit 
returns nonzero and -f is not specified.</li>
<li>Fix for an assert during mount on systems with multiple file systems and 
a small pagepool.</li>
<li>Fixed possible lost update of quota shares if quota manager is 
changed before the update is saved to quota file.</li>
<li>When using mmapplypolicy with the "-N all" parallel execution 
option, you may get more even load balancing with this PTF 
applied.</li>
<li>The mmfsck command with -c option reports spurious CmpMismatch 
errors for directories on large block filesystems.</li>
<li>Fix adding quorum nodes when there are tiebreaker disks.</li>
<li>NFSv4 ACL assignment were not generating DMAPI POSTPERMCHNAGE 
events.</li>
<li>Fix rare assert that occurs during disk i/o failures.</li>
<li>Fix rare deadlock that occurs during nsd server failures along 
with disk failures.</li>
<li>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.</li>
<li>Add additional connection related messages to mmfs.log.latest.</li>
<li>Fixed a problem in dmapi call of dm_remove_dmattr() when it is 
called on a file with no dmapi attributes.</li>
<li>Fixed mmap data corruption.</li>
<li>Improved checking on block allocation to avoid potential data 
corruption.</li>
<li>This update addresses the following APAR: IZ22023.</li>
</ul>
</p>
</div>
</div>
 
<div class="ibm-container">
<a name="3212"></a> 
<div class="ibm-container-body">
<p><b>Problems fixed in GPFS 3.2.1.2 [April 24, 2008]</b></p>
 
<ul class="ibm-bullet-list">
<li>Enhance mmrestripefs -r to dissolve unused and ill-replicated 
log groups in metadata replicated file systems.</li>
<li>Fixed rare deadlock between sg panic due to disk failures and 
recovery.</li>
<li>Fixed assert during clmgr election when using tiebreaker disks.</li>
<li>Fixed a rare Linux kernel oops in internalSignal when kernel is 
under memory pressure.</li>
<li>Performance improvements for extended attributes including dmapi 
attributes.</li>
<li>Fixed an assert caused by the incomplete cleanup of a failed 
mmdelsnapshot command.</li>
<li>Fixed assertion triggered when attempting to obtain a mutex with 
SNMP support is enabled.</li>
<li>Foxed an assert due to a race between mmchmgr -c and a group 
protocol.</li>
<li>Fixed an assert due to node failure while transferring tokens.</li>
<li>Fixed a problem in dm_get_dmattr prefetch code.</li>
<li>Correct EAGAIN error and break lease processing.</li>
<li>Correct assert when unmounting a dmapi enabled fs from a remote 
node.</li>
<li>Fixed problem where an operation initiating a samba lease break 
was wrongly returning EBUSY.</li>
<li>Fixed possible communications hang following quorum loss if 
quorum is re-established too quickly.</li>
<li>Fixed a rare deadlock between quota client and file system sync 
when the file system manager fails.</li>
<li>Fixed mmdeldisk to migrate all directories off the disk being 
deleted, even if the directory has invalid blocks.</li>
<li>Fixed assertion failure when migrating logs off a disk being 
deleted without having suspended the disk previously.</li>
<li>Fixed assert due to sockets being migrated during node recovery.</li>
<li>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.</li>
<li>Fixed Linux kmalloc memory leak found during POSIX fcntl lock 
test.</li>
<li>Fixed a problem where a combination of node failures and I/O errors 
could lead to deadlock.</li>
<li>Fixed a problem with GPFS self extractor.</li>
<li>Fixed a problem with missing hardlinks for pre-3.2 to 3.2 
upgrade on Linux.</li>
<li>Fixed assert during high level of Samba lease breaks.</li>
<li>Display the generic error message at the end of mmgetstate only 
if -v is specified.</li>
<li>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.</li>
<li>Fixed a problem where a combination of node failures and I/O errors 
could lead to deadlock.</li>
<li>Allow samba setattr call when the only conflicting lease is held 
by smbd.</li>
<li>Fixed gpfs.snap to handle df output when the filesystem name is 
long.</li>
<li>Prevent a deadlock during cleanup in some cases after multiple 
failures cause the stripe group manager to resign.</li>
<li>Fixed tssetquota command permission.</li>
<li>Fixed mmnsddiscover to rediscover the disk after fixing disk 
path problems.</li>
<li>Avoid an intermittent crash when mmchfs sets the metadata 
replication above the number of available disk failure groups.</li>
<li>Correct a problem with the mmchnode --daemon-interface option.</li>
<li>Fixed disk rediscovery code path driven after fixing disk 
failure.</li>
<li>Fixed rare clmgr election problem seen while using tiebreaker 
disks.</li>
<li>Correct umask in gpfs.snap.</li>
<li>mmchnode should ensure a maximum of eight quorum nodes if 
tiebreaker disks are used.</li>
<li>Reduce impact on applications while mmrestripefs, mmdeldisk, or 
mmchdisk start are running.</li>
<li>Fixed assert due to sockets being migrated during node recovery.</li>
<li>Show system information in mmfsadm dump version.</li>
<li>Fixed a rare deadlock during multiple server & disk failures.</li>
<li>Fixed possible assertion failure in the (very unlikely) case 
that an FIOASYNCQX ioctl or kxEpollAdd call fails for a new 
connection.</li>
<li>Avoid a rare hang following forced unmount due to disk failure 
when a single stripe group is mounted.</li>
<li>Fixed LOGSHUTDOWN errors from epoll failures to print a real 
error value rather than always reporting ENOMEM.</li>
<li>Correct a faulty input parameter check with the mmchnode 
 --cnfs-groupid option.</li>
 <li>On AIX, look for the opessl command first in /usr/bin and if it 
 is not found there, try /opt/freeware/bin/openssl.</li>
 <li>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".</li>
 <li>Fixed file system corruption problem when using snapshots on a 
 dmapi enabled file system.</li>
 <li>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.</li>
 <li>This update addresses the following APARs: IZ18643 IZ18724.</li>
</ul>
</p>
</div>
</div>
 
<div class="ibm-container">
 
<p><a name="3211"></a>
<div class="ibm-container-body">
<p><b>Problems fixed in GPFS 3.2.1.1 [March 17, 2008]</b></p>
 
<ul class="ibm-bullet-list">
<li>Fixed mmrepquota to not disply quota information for 
non-existing filesets.</li>
<li>Improve command usage of mmdefedquota.</li>
<li>Fixed Null pointer dereference in posix_locks_deadlock.</li>
<li>Fixed BUG() call in locks_remove_flock.</li>
<li>Fixed quiesce ops hang indefinitely after a filesystem panic.</li>
<li>Fixed problem with file system running out of metadata space.</li>
<li>Fixed a problem where kxRetryRecover returns E_RESTART and 
leaves fcntl sleepers permanently waiting for tokens.</li>
<li>Fixed a rare race condition that could cause livelock in a 
multicluster environment during a metanode token request.</li>
<li>Improve an error message in mmcheckquota.</li>
<li>Do not hang on mmfsadm dump all if Events Exporter list mutex is stuck.</li>
<li>Minor performance enhancement to mmapplypolicy.</li>
<li>Fixed a deadlock that could occur in either mmpmon or SNMP 
support.</li>
<li>Fixed code for the api gpfs_getpoolname so that it runs properly in 
32bit applications with 64bit gpfs on the x86_64 platform.</li>
<li>Do not use the result from hostname for gpfs.snap; use the 
defined admin interface instead.</li>
<li>Fixed a problem with gpfs_prealloc when not all data disks are 
available.</li>
<li>Fixed a kernel panic following mmchfs -V on a mounted pre-3.1 
filesystem.</li>
<li>Fixed a problem in dm_get_dirattrs reading past end of 
directory.</li>
<li>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.</li>
<li>No CNFS action needs to be taken for non NFS-exported 
filesystems being umounted using mmumount.</li>
<li>Add test for SLES10 SP2 for the new statfs interface.</li>
<li>Fixed a failed assert after mmcrsnapshot and mmchmgr have been 
run.</li>
<li>Fixed a tscomm deadlock caused by serverSideRevoke code.</li>
<li>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.</li>
<li>Fix for several problems (forced unmounts and GPFS crashes) 
occuring after snapshot creation.</li>
<li>Fixed a problem where SOFS read of an offline file failed with 
EACCES.</li>
<li>Prevent DeadManSwitch timeout on a cluster with a single quorum 
node and a tiebreaker disk.</li>
<li>Fixed a problem so that 32bit inode scan api works properly with 
a 64bit GPFS Kernel.</li>
<li>Lift the no mounted file systems restriction when changing key 
files.</li>
<li>When calling preunmount, translate the all keyword to a list of 
devices.</li>
<li>Initialize the internal GPFS variables prior to the exportfs step.</li>
<li>Fixed isAlloc assert problem after doing mmcrsnapshot with newly 
truncated large files.</li>
<li>Fixed an assert caused by a race condition between snapshot 
deletion and recovery.</li>
<li>Fix for a race condition occurring after mmchmgr involving quota 
and snapshots code.</li>
<li>Fixed a race between unmount & fs recovery driven during node 
failure.</li>
<li>Fixed a deadlock in SGPanic waiting for recoverAllocManager to 
signal sgMgrOpEnd.</li>
<li>Fixed assertion triggered when attempting to obtain mutex with 
SNMP support is enabled.</li>
<li>Fixed mmrepquota so that it can run on mixed maintenance level 
environment.</li>
<li>Fixed deadlock when there are more HSM migrate or recall 
processes than worker1Threads/2.</li>
<li>Fixed problem where Samba access leads to NULL pointer 
dereference in DirSearch.</li>
<li>Fixed race between cluster manager election and node quorum 
designation when using minority quorum aka tiebreaker disks.</li>
<li>Addition of a new command, mmexpelnode, for expelling one or 
more nodes from a given cluster.</li>
<li>Fixed assert after doing mmchfs -V that upgrades filesystem from 
2.3 level to 3.1 level which creates a new fileset quota file.</li>
<li>Fixed a problem in parallel traversal of inode file function 
when restarting a work item of a failed node.</li>
<li>Fixed a race condition where, after deleting a disk, creating or 
writing a new file could fail if snapshots are present.</li>
<li>Fixed an assert caused by a race condition in spooling log 
records and processing log wrap.</li>
<li>Fix for a spurious error during a restarted snapshot deletion 
command.</li>
<li>Fixed gn_filocks!=NULL error during vnodeReleInternal call 
during fcntl revoke.</li>
<li>Print a proper information message while trying to expel a 
cluster manager node.</li>
<li>Fixed auxData.synchedFSize >= 0 assertion.</li>
<li>Add protection so that dmapi session can recover safely.</li>
<li>Fixed problem where xmalloc debug reference to freed storage in 
Post routine's exit trace.</li>
<li>Complete server-side fcntl revoke, and reply to acquire message.</li>
<li>Fixed a performance problem with root user allocations when 
quotas in use.</li>
<li>Added new configuration paramenter dmapiMountEvent to control 
how dmapi MOUNT and PREUNMOUNT event is generated. Available 
values are all, SessionNode, LocalNode.</li>
<li>Prevent a hang in rare cases after disk failure, or other 
serious error, causes a stripe group panic.</li>
<li>Correct mmcommon on1long failure.</li>
<li>This update addresses the following APARs: IZ15189 IZ15197 
IZ15429 IZ15497 IZ15520 IZ15521 IZ16153 IZ16367 IZ16455 IZ16456 
IZ16457 IZ16458 IZ16484.</li>
</ul>
</p>
 
</div>
</div>
<div class="ibm-container">
<a name="3203"></a>
 
<div class="ibm-container-body">
<p><b>Problems fixed in GPFS 3.2.0.3 [January 24, 2008]</b></p>
 
<ul class="ibm-bullet-list">
<li>Return a non-zero return code if mmchconfig results in only 
partial changes or no changes at all.</li>
<li>On Linux, fixed mmap deadlock scenario that occurs with high IO 
stress on files that are write mapped.</li>
<li>Avoid fcntl retry deadlock caused by token left in COPYSET.</li>
<li>Fix for an assert during fileset creation racing with recovery.</li>
<li>Enable the user to view the maximum size disk that can be added 
to the filesystem using the mmdf command.</li>
<li>The commands mmputacl/mmeditacl can now handle 
usernames/groupnames which have spaces in between them.</li>
<li>Ensure that the nfslock subsystem lock file in /var/lock/subsys 
is removed when the subsystem is stopped.</li>
<li>Change the check for server-side UID remapping script.</li>
<li>Fixed the problem where the file system runs out of metadata space.</li>
<li>Fixed for an assert during token recovery after a series of file system panics.</li>
<li>Fixed assert that happens when setting STF_DESIGNATED_MNODE.</li>
<li>Fix communications hang that happens in rare cases after a node restart.</li>
<li>Samba lookups should be case-insensitive.</li>
<li>Defined a GPFS generated error number in gpfs.h for gpfs_quotactl.</li>
<li>Fixed incorrect timeout calculation that could cause spurious quorum loss when 
using tiebreaker disk and one of the quorum nodes becomes disconnected.</li>
<li>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.</li>
<li>Removing last managed region on a dmapi managed file was causing other 
dmapi attributes for that file to be lost.</li>
<li>setid/sticky bits not set when chmod targets a file with nfs4 ACL.</li>
<li>Correct a problem with missing cluster names in mmlsmount -L output.</li>
<li>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.</li>
<li>Fixed assertion error if socket breaks while non-blocking sender is waiting 
for outbound connect.</li>
<li>Fixed problem in mmfsck after it detects connection problem so that the 
following mmfsck attempt can continue.</li>
<li>Fixed gpfs_get_share to close fd on error case.</li>
<li>Fixed NFS access to .snapshots (previously returning E_STALE).</li>
<li>Correct problem mounting existing SANergy exportable filesystems on 3.2 nodes.</li>
<li>Correct a SIGSEGV problem with mmlsfileset -Y.</li>
<li>Fixed for a spurious lookup failure (ENOENT error) on Linux during 
parallel mkdir/rmdir operations.</li>
<li>Add test for SLES10 SP2 2.6.16 kernel for NFS locking support.</li>
<li>Fixed an incorrect DBGASSERT in buffer fetch flow control.</li>
<li>Fixed problems in handling file deletions in conjunction with remounts.</li>
<li>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 ...).</li>
<li>On AIX with RVSD, do not start GPFS if RVSD is down and wait4RVSD is set to no.</li>
<li>SOFS read of an offline file failed with EACCES.</li>
<li>Fixed communications hang that happens in rare cases after a node restart.</li>
<li>Fixed race conditon while aborting clmgr election due to tiebreaker disk failure.</li>
<li>Performance improvements to the inode scan.</li>
<li>Prefetching improvements in inode scan.</li>
<li>Fixed a deadlock when a regular file read is into a mapped page of the same file.</li>
<li>Fixed problem so that GPFS can restore files which were backed up using older PTFs.</li>
<li>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.</li>
<li>Policy daemon program for nospace and lowspace was resetting 
dmapi event list on mount requests.</li>
<li>Prevent the corruption of permissions during file creation when 
create/delete operations happen from multiple nodes.</li>
<li>On Linux, fixed kernel oops that occurs when reading a file via 
sendfile when the file is opened for direct I/O.</li>
<li>Fixed a problem in dm_get_events() call so that it always returns 
the number of events that no more than maxmsgs specified.</li>
<li>Fixed for a kernel oops on Linux due to a race during file
descriptor list expansion.</li>
<li>The new changes will enable the user to view the quota information 
for a filesystem in the colon format using the -Y option.</li>
<li>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.</li>
<li>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.</li>
</ul>
 
</div>
<div class="ibm-container">
<p><a name="3202"></a>
<div class="ibm-container-body">
<p><b>Problems fixed in GPFS 3.2.0.2 [November 15, 2007]</b></p>
 
 
<ul class="ibm-bullet-list">
<li>Fixed problem adding disks between 1 TB and 2 TBs to gpfs
  filesystems on AIX.</li>
<li>Discover the correct disk size for AIX hard disks over 2 TB.</li>
<li>Fixed Linux oops storing an ACL into a "-k nfs4" filesystem.</li>
<li>Fixed bad trace backs on x86_64 nodes.</li>
<li>Improve performance of file tree traversal when most files have
  extended attributes like HSM migrated files.</li>
<li>Pool information was not always being deleted when the last disk
  deleted from the pool.</li>
<li>Allow mmchdisk and other commands to work on file systems in
 which all disks are suspended.</li>
<li>Fixed EOPNOTSUPP from gpfs_putacl into a "-k nfs4" filesystem on
  Linux.</li>
<li>Prevent mount from hanging when run following snapshot commands.</li>
<li>Fixed compiler warning in inode.c when compiling GPFS gpl.</li>
<li>Fixed error: Unable to write to GPFS via ppc64 Samba
  (libgpfs_gpl.so not found).</li>
<li>getNFS needs to get nfs_lock before clearing the vinfo pointer.</li>
<li>Remove temp backup file after a successful restore.</li>
<li>Ensure mmimportfs records all disk attributes in the config
  file.</li>
<li>Fileset's junction pathname can be displayed as "--" by
  mmlsfileset when a directory in the path was recently modified.</li>
<li>Fixed the handling of disk names with embedded blanks.</li>
<li>Prevent a rare assert caused by restriping actively modified
  files.</li>
<li>Fixed parsing of remote cluster contact names.</li>
<li>This update addresses the following APARs: IZ05802 IZ06367.</li>
</ul>
</p>
</div>
</div


</div>
</div>
</li>
</ul>
</div>
</div>
<br>
<br>
<a name="Copyright and trademark information"><font size="4"><b>Copyright and trademark information</b></font></a>
<br>
<br>
<a href="http://www.ibm.com/legal/copytrade.shtml">
<br>
	 http://www.ibm.com/legal/copytrade.shtml
     </a>
<br>
      
<p>
<b>Notices</b><br/>
<br/>
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE. Some jurisdictions do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this
statement may not apply to you.
<br/>
<br/>
This information could include technical inaccuracies or
typographical errors. Changes are periodically made to the
information herein; these changes will be incorporated in new
editions of the publication. IBM may make improvements and/or
changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
<br/>
<br/>
Microsoft, Windows, and Windows Server are trademarks of Microsoft 
Corporation in the United States, other countries, or both.
<br/>
<br/>
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, 
Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and 
Pentium are trademarks or registered trademarks of Intel Corporation or its 
subsidiaries in the United States and other countries.
<br/>
<br/>
Other company, product, or service names may be trademarks or
service marks of others.
<br/>
<br/>

<b>THIRD-PARTY LICENSE TERMS AND CONDITIONS, NOTICES AND INFORMATION</b>
<br/>
<br/>
The license agreement for this product refers you to this file for
details concerning terms and conditions applicable to third party
software code included in this product, and for certain notices
and other information IBM must provide to you under its license
to certain software code. The relevant terms and conditions,
notices and other information are provided or referenced below. 
Please note that any non-English version of the licenses below is
unofficial and is provided to you for your convenience only.  The
English version of the licenses below, provided as part of the
English version of this file, is the official version.
<br/>
<br/>
Notwithstanding the terms and conditions of any other agreement
you may have with IBM or any of its related or affiliated entities
(collectively "IBM"), the third party software code identified
below are "Excluded Components" and are subject to the following
terms and conditions:
<br/>
<ul>
<li>the Excluded Components are provided on an "AS IS" basis

<li>IBM DISCLAIMS ANY AND ALL EXPRESS AND IMPLIED WARRANTIES AND
   CONDITIONS WITH RESPECT TO THE EXCLUDED COMPONENTS, INCLUDING,
   BUT NOT LIMITED TO, THE WARRANTY OF NON-INFRINGEMENT OR
   INTERFERENCE AND THE IMPLIED WARRANTIES AND CONDITIONS OF
   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

<li>IBM will not be liable to you or indemnify you for any claims
   related to the Excluded Components

<li>IBM will not be liable for any direct, indirect, incidental,
   special, exemplary, punitive or consequential damages with
   respect to the Excluded Components.
</ul>

</p>

       
    <br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
