<br><font size=2 face="sans-serif">Hi,</font>
<br><font size=2 face="sans-serif">On one of our cluster I've go a problem to create secret file like this:</font>
<br>
<br><font size=2 face="sans-serif">[thipa@vb0 openmpi]$ padb_r341 --create-secret-file</font>
<br><font size=2 face="sans-serif">Failed to chmod secret file: No such file or directory</font>
<br><font size=2 face="sans-serif">[thipa@vb0 openmpi]$ </font>
<br>
<br><font size=2 face="sans-serif">our system is:</font>
<br><font size=2 face="sans-serif">[thipa@vb0 openmpi]$ uname -a</font>
<br><font size=2 face="sans-serif">Linux vb0 2.6.18-B64k.1.26 #1 SMP Wed Aug 26 17:15:29 CEST 2009 ia64 ia64 ia64 GNU/Linux</font>
<br>
<br><font size=2 face="sans-serif">Before my patch the source code looks like this:</font>
<br>
<br><font size=2 face="sans-serif">sub create_padb_secret {</font>
<br><font size=2 face="sans-serif"> my $filename = "$ENV{HOME}/.padb-secret";</font>
<br><font size=2 face="sans-serif"> my $FD;</font>
<br><font size=2 face="sans-serif"> if ( not open $FD, '>', $filename ) {</font>
<br><font size=2 face="sans-serif"> print "Failed to create secret file: $!\n";</font>
<br><font size=2 face="sans-serif"> return;</font>
<br><font size=2 face="sans-serif"> } </font>
<br><font size=2 face="sans-serif"> if ( chmod( 0600, $FD ) != 1 ) {</font>
<br><font size=2 face="sans-serif"> print "Failed to chmod secret file: $!\n";</font>
<br><font size=2 face="sans-serif"> return;</font>
<br><font size=2 face="sans-serif"> }</font>
<br><font size=2 face="sans-serif"> my $s = rand;</font>
<br><font size=2 face="sans-serif"> print {$FD} "secret=$s\n";</font>
<br><font size=2 face="sans-serif"> close $FD;</font>
<br><font size=2 face="sans-serif"> print "Sucessfully created secret file ($filename)\n";</font>
<br><font size=2 face="sans-serif"> return;</font>
<br><font size=2 face="sans-serif">}</font>
<br>
<br><font size=2 face="sans-serif">After searching on the web I changed the code to:</font>
<br>
<br><font size=2 face="sans-serif">sub create_padb_secret {</font>
<br><font size=2 face="sans-serif"> my $filename = "$ENV{HOME}/.padb-secret";</font>
<br><font size=2 face="sans-serif"> my $FD;</font>
<br><font size=2 face="sans-serif"> if ( not open $FD, '>', $filename ) {</font>
<br><font size=2 face="sans-serif"> print "Failed to create secret file: $!\n";</font>
<br><font size=2 face="sans-serif"> return;</font>
<br><font size=2 face="sans-serif"> } </font>
<br><font size=2 face="sans-serif"> if ( chmod( 0600, $filename ) != 1 ) {</font>
<br><font size=2 face="sans-serif"> print "Failed to chmod secret file: $!\n";</font>
<br><font size=2 face="sans-serif"> return;</font>
<br><font size=2 face="sans-serif"> }</font>
<br><font size=2 face="sans-serif"> my $s = rand;</font>
<br><font size=2 face="sans-serif"> print {$FD} "secret=$s\n";</font>
<br><font size=2 face="sans-serif"> close $FD;</font>
<br><font size=2 face="sans-serif"> print "Sucessfully created secret file ($filename)\n";</font>
<br><font size=2 face="sans-serif"> return;</font>
<br><font size=2 face="sans-serif">}</font>
<br>
<br><font size=2 face="sans-serif">And it works:</font>
<br>
<br><font size=2 face="sans-serif">[thipa@vb0 openmpi]$ padb_r341_secret --create-secret-file</font>
<br><font size=2 face="sans-serif">Sucessfully created secret file (/home_nfs/thipa/.padb-secret)</font>
<br><font size=2 face="sans-serif">[thipa@vb0 openmpi]$ </font>
<br>
<br><font size=2 face="sans-serif">This happens only in this cluster which is IA64. On the internet it relates to system that support fchmod or not:</font>
<br><font size=2 face="sans-serif">http://perldoc.perl.org/functions/chmod.html</font>
<br>
<br>
<br><font size=2 face="sans-serif">Here is the patch:</font>
<br>
<br>