| 1 | #!/bin/ksh | 
|---|
| 2 | # IBM_PROLOG_BEGIN_TAG | 
|---|
| 3 | # This is an automatically generated prolog. | 
|---|
| 4 | # | 
|---|
| 5 | # | 
|---|
| 6 | # | 
|---|
| 7 | # Licensed Materials - Property of IBM | 
|---|
| 8 | # | 
|---|
| 9 | # (C) COPYRIGHT International Business Machines Corp. 2000,2007 | 
|---|
| 10 | # All Rights Reserved | 
|---|
| 11 | # | 
|---|
| 12 | # US Government Users Restricted Rights - Use, duplication or | 
|---|
| 13 | # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. | 
|---|
| 14 | # | 
|---|
| 15 | # IBM_PROLOG_END_TAG | 
|---|
| 16 | # @(#)46 1.13.1.1 src/avs/fs/mmfs/ts/admin/mmlsconfig.sh, mmfs, avs_rgpfs24, rgpfs24s011a 3/28/07 19:15:23 | 
|---|
| 17 | ########################################################################## | 
|---|
| 18 | # | 
|---|
| 19 | #  List the GPFS configuration data for the cluster. | 
|---|
| 20 | # | 
|---|
| 21 | #  Usage:  mmlsconfig [Attribute[,Attribute...] [-Y] | 
|---|
| 22 | # | 
|---|
| 23 | ########################################################################## | 
|---|
| 24 |  | 
|---|
| 25 | # Include global declarations and service routines | 
|---|
| 26 | . /usr/lpp/mmfs/bin/mmglobfuncs | 
|---|
| 27 | . /usr/lpp/mmfs/bin/mmsdrfsdef | 
|---|
| 28 |  | 
|---|
| 29 | sourceFile="mmlsconfig.sh" | 
|---|
| 30 | [[ -n $DEBUG || -n $DEBUGmmlsconfig ]] && set -x | 
|---|
| 31 | $mmTRACE_ENTER "$*" | 
|---|
| 32 |  | 
|---|
| 33 | # Local work files.  Names should be of the form: | 
|---|
| 34 | #   fn=${tmpDir}fn.${mmcmd}.$$ | 
|---|
| 35 |  | 
|---|
| 36 | LOCAL_FILES=" " | 
|---|
| 37 |  | 
|---|
| 38 | # Local variables | 
|---|
| 39 | usageMsg=370 | 
|---|
| 40 | underline="----------------------------------------------------------" | 
|---|
| 41 | underline="${underline}----------------------------------------------" | 
|---|
| 42 |  | 
|---|
| 43 | typeset -l cfgParm_lc | 
|---|
| 44 |  | 
|---|
| 45 | # Local routines | 
|---|
| 46 |  | 
|---|
| 47 | ############################################################################# | 
|---|
| 48 | # | 
|---|
| 49 | # Function:  Determine the value of the specified mmfs.cfg parameter. | 
|---|
| 50 | # | 
|---|
| 51 | # Input:     $1 - mmfs.cfg parameter name. | 
|---|
| 52 | #            $2 - default value | 
|---|
| 53 | #            $3 - mmfs.cfg file to use. | 
|---|
| 54 | #            $4 - line prefix string (implies colon separated output) | 
|---|
| 55 | # | 
|---|
| 56 | # Output:    The value of the mmfs.cfg parameter.  Multiple lines are possible | 
|---|
| 57 | #            if there are node overrides. | 
|---|
| 58 | # | 
|---|
| 59 | # Returns:   0 - worked | 
|---|
| 60 | #            1 - unexpected error | 
|---|
| 61 | # | 
|---|
| 62 | ############################################################################# | 
|---|
| 63 | function listCfgValue  # <parmName> <default> <cfgFile> [<prefix>] | 
|---|
| 64 | { | 
|---|
| 65 | typeset sourceFile="mmlsconfig.sh" | 
|---|
| 66 | [[ -n $DEBUG || -n $DEBUGlistCfgValue ]] && set -x | 
|---|
| 67 | $mmTRACE_ENTER "$*" | 
|---|
| 68 | typeset parm=$1 | 
|---|
| 69 | typeset defaultValue=$2 | 
|---|
| 70 | typeset cfgFile=$3 | 
|---|
| 71 | typeset linePrefix=$4 | 
|---|
| 72 |  | 
|---|
| 73 | typeset separatorChar=" " | 
|---|
| 74 |  | 
|---|
| 75 | # Verify input parameters. | 
|---|
| 76 | if [[ $# -lt 3 ]] | 
|---|
| 77 | then | 
|---|
| 78 | operands="<parmName> <default> <cfgFile> [<prefix>]" | 
|---|
| 79 | printErrorMsg 260 listCfgValue "$operands" | 
|---|
| 80 | cleanupAndExit | 
|---|
| 81 | fi | 
|---|
| 82 |  | 
|---|
| 83 | [[ -n $linePrefix ]] && separatorChar=":" | 
|---|
| 84 |  | 
|---|
| 85 | # Find the setting of the parameter from the specified config file. | 
|---|
| 86 | $awk -v parm="$parm" -v defaultValue="$defaultValue" \ | 
|---|
| 87 | -v sep="$separatorChar" -v prefix="$linePrefix" ' | 
|---|
| 88 | BEGIN { | 
|---|
| 89 | { globalScope = 1 } | 
|---|
| 90 | { nodeList = "" } | 
|---|
| 91 | { n = 0 } | 
|---|
| 92 | { value[0] = defaultValue } | 
|---|
| 93 | { nodes[0] = "" } | 
|---|
| 94 | } | 
|---|
| 95 |  | 
|---|
| 96 | # If this is the end of a node-override section, | 
|---|
| 97 | # set the flag to accept parameter values. | 
|---|
| 98 | $1 == "[common]" { | 
|---|
| 99 | { globalScope = 1 } | 
|---|
| 100 | { next } | 
|---|
| 101 | } | 
|---|
| 102 |  | 
|---|
| 103 | # If this is the start of a node-override section, | 
|---|
| 104 | # save the node list. | 
|---|
| 105 | /^\[.*]/ || /^[     ]*\[.*]/ { | 
|---|
| 106 | { globalScope = 0 } | 
|---|
| 107 | nodeList = $1 | 
|---|
| 108 | if (prefix) { | 
|---|
| 109 | # Remove the brackets. | 
|---|
| 110 | sub("\\[","",nodeList) | 
|---|
| 111 | sub("]","",nodeList) | 
|---|
| 112 | } | 
|---|
| 113 | { next } | 
|---|
| 114 | } | 
|---|
| 115 |  | 
|---|
| 116 | # If this is a declaration for our parameter, save the value. | 
|---|
| 117 | $1 == parm { | 
|---|
| 118 | if (globalScope) { | 
|---|
| 119 | { nodeList = "" } | 
|---|
| 120 | { n = 0 } | 
|---|
| 121 | } | 
|---|
| 122 | else { | 
|---|
| 123 | { n++ } | 
|---|
| 124 | } | 
|---|
| 125 | # Add code to save the entire line minus $1 | 
|---|
| 126 | { value[n] = $2 } | 
|---|
| 127 | { nodes[n] = nodeList } | 
|---|
| 128 | } | 
|---|
| 129 |  | 
|---|
| 130 | END { | 
|---|
| 131 | # Print the result. | 
|---|
| 132 | for (i=0; i<=n; i++) { | 
|---|
| 133 | print prefix parm sep value[i] sep nodes[i] sep | 
|---|
| 134 | } | 
|---|
| 135 | } | 
|---|
| 136 | ' $cfgFile | 
|---|
| 137 | checkForErrors awk $? | 
|---|
| 138 |  | 
|---|
| 139 | return 0 | 
|---|
| 140 |  | 
|---|
| 141 | }  #----- end of function listCfgValue --------------------------- | 
|---|
| 142 |  | 
|---|
| 143 |  | 
|---|
| 144 | ############################# | 
|---|
| 145 | # Check the input arguments. | 
|---|
| 146 | ############################# | 
|---|
| 147 | [[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \ | 
|---|
| 148 | syntaxError "help" $usageMsg | 
|---|
| 149 |  | 
|---|
| 150 | if [[ $arg1 = '-Y' ]] | 
|---|
| 151 | then | 
|---|
| 152 | Yopt=true | 
|---|
| 153 | parmList="$arg2" | 
|---|
| 154 | [[ -n $arg3 ]] && syntaxError "extraArg"  $usageMsg "$arg3" | 
|---|
| 155 | else | 
|---|
| 156 | parmList="$arg1" | 
|---|
| 157 | [[ $arg2 = '-Y' ]] && Yopt=true | 
|---|
| 158 | if [[ $arg2 = '-Y' ]] | 
|---|
| 159 | then | 
|---|
| 160 | Yopt=true | 
|---|
| 161 | [[ -n $arg3 ]] && syntaxError "extraArg"  $usageMsg "$arg3" | 
|---|
| 162 | else | 
|---|
| 163 | [[ -n $arg2 ]] && syntaxError "extraArg"  $usageMsg "$arg2" | 
|---|
| 164 | fi | 
|---|
| 165 | fi  # end of if [[ $arg1 = '-Y' ]] | 
|---|
| 166 |  | 
|---|
| 167 |  | 
|---|
| 168 | ####################################################################### | 
|---|
| 169 | # Set up trap exception handling and call the gpfsInit function. | 
|---|
| 170 | # It will ensure that the local copy of the mmsdrfs and the rest | 
|---|
| 171 | # of the GPFS system files are up-to-date.  No need to lock the sdr. | 
|---|
| 172 | ####################################################################### | 
|---|
| 173 | trap pretrap2 HUP INT QUIT KILL | 
|---|
| 174 | gpfsInitOutput=$(gpfsInit nolock) | 
|---|
| 175 | setGlobalVar $? $gpfsInitOutput | 
|---|
| 176 |  | 
|---|
| 177 |  | 
|---|
| 178 | ################################################################# | 
|---|
| 179 | # Loop through the mmsdrfs file and collect needed information. | 
|---|
| 180 | ################################################################# | 
|---|
| 181 | $rm -f $tmpfile | 
|---|
| 182 | IFS=":"         # Change the field separator to ':' | 
|---|
| 183 | exec 3<&- | 
|---|
| 184 | exec 3< $mmsdrfsFile | 
|---|
| 185 | while read -u3 sdrfsLine | 
|---|
| 186 | do | 
|---|
| 187 | # Parse the line. | 
|---|
| 188 | set -f ; set -A v -- - $sdrfsLine ; set +f | 
|---|
| 189 |  | 
|---|
| 190 | IFS="$IFS_sv"    # Restore the default IFS settings. | 
|---|
| 191 |  | 
|---|
| 192 | case ${v[$LINE_TYPE_Field]} in | 
|---|
| 193 |  | 
|---|
| 194 | $VERSION_LINE ) | 
|---|
| 195 | # Extract the cluster name. | 
|---|
| 196 | clusterName=${v[$CLUSTER_NAME_Field]} | 
|---|
| 197 | ;; | 
|---|
| 198 |  | 
|---|
| 199 | $SG_HEADR ) | 
|---|
| 200 | # Collect the names of all local file systems. | 
|---|
| 201 | if [[ ${v[$NODESETID_Field]} = $HOME_CLUSTER ]] | 
|---|
| 202 | then | 
|---|
| 203 | print -- "/dev/${v[$DEV_NAME_Field]}" >> $tmpfile | 
|---|
| 204 | checkForErrors "writing to file $tmpfile" $? | 
|---|
| 205 | fi | 
|---|
| 206 | ;; | 
|---|
| 207 |  | 
|---|
| 208 | * )  # No need to look at any of the other lines | 
|---|
| 209 | ;; | 
|---|
| 210 |  | 
|---|
| 211 | esac  # end case ${v[$LINE_TYPE_Field]} in | 
|---|
| 212 |  | 
|---|
| 213 | IFS=":"  # Change the separator back to ":" for the next iteration | 
|---|
| 214 |  | 
|---|
| 215 | done  # end while read -u3 | 
|---|
| 216 |  | 
|---|
| 217 | IFS="$IFS_sv"  # Restore the default IFS settings. | 
|---|
| 218 |  | 
|---|
| 219 |  | 
|---|
| 220 | # The config information is in the file mmfscfgFile. | 
|---|
| 221 | # If the traditional default output is desired, display | 
|---|
| 222 | # the content skipping comment and empty lines. | 
|---|
| 223 | if [[ -z $parmList && -z $Yopt ]] | 
|---|
| 224 | then | 
|---|
| 225 | header=$(printInfoMsg 407 $clusterName) | 
|---|
| 226 | printf "%s\n%.${#header}s\n" "$header" "$underline" | 
|---|
| 227 |  | 
|---|
| 228 | $egrep -v -e "^([$BLANKchar$TABchar])*#"  \ | 
|---|
| 229 | -e "^([$BLANKchar$TABchar])*$" $mmfscfgFile | 
|---|
| 230 |  | 
|---|
| 231 | # Display the names of the locally owned file systems. | 
|---|
| 232 | header=$(printInfoMsg 408 $clusterName) | 
|---|
| 233 | printf "\n%s\n%.${#header}s\n" "$header" "$underline" | 
|---|
| 234 | if [[ -s $tmpfile ]] | 
|---|
| 235 | then | 
|---|
| 236 | $cat $tmpfile | 
|---|
| 237 | else | 
|---|
| 238 | # There are no file systems | 
|---|
| 239 | printInfoMsg 409 | 
|---|
| 240 | fi | 
|---|
| 241 |  | 
|---|
| 242 | cleanupAndExit 0 | 
|---|
| 243 | fi  # end of if [[ -z $parmList && -z $separatorChar ]] | 
|---|
| 244 |  | 
|---|
| 245 |  | 
|---|
| 246 | # If we are here, either specific paramters were requested | 
|---|
| 247 | # and/or colon separated output is desired. | 
|---|
| 248 | if [[ -n $Yopt ]] | 
|---|
| 249 | then | 
|---|
| 250 | # Generate and print the header line. | 
|---|
| 251 | hdrLine="mmlsconfig::HEADER:version:reserved:reserved" | 
|---|
| 252 | hdrLine="${hdrLine}:configParameter:value:nodeList" | 
|---|
| 253 | print -- "${hdrLine}:" | 
|---|
| 254 |  | 
|---|
| 255 | # Generate the prefix for the data lines. | 
|---|
| 256 | linePrefix="mmlsconfig::0:1:::" | 
|---|
| 257 | fi  # end of if [[ -n $Yopt ]] | 
|---|
| 258 |  | 
|---|
| 259 | # If no specific parameters were requested, show all | 
|---|
| 260 | # offciallly supported and documented paramters. | 
|---|
| 261 | if [[ -z $parmList || $parmList = all ]] | 
|---|
| 262 | then | 
|---|
| 263 | parmList="autoload,automountDir,cipherList,clusterId,clusterName" | 
|---|
| 264 | parmList="${parmList},dataStructureDump,distributedTokenServer" | 
|---|
| 265 | parmList="${parmList},dmapiEventTimeout,dmapiMountTimeout,dmapiSessionFailureTimeout" | 
|---|
| 266 | parmList="${parmList},maxblocksize,maxFilesToCache,maxMBpS,maxStatCache" | 
|---|
| 267 | parmList="${parmList},nsdServerWaitTimeForMount,nsdServerWaitTimeWindowOnMount" | 
|---|
| 268 | parmList="${parmList},pagepool,prefetchThreads,subnets,uidDomain" | 
|---|
| 269 | parmList="${parmList},unmountOnDiskFail,worker1Threads" | 
|---|
| 270 | fi  # end of if [[ -z $parmList ]] | 
|---|
| 271 |  | 
|---|
| 272 |  | 
|---|
| 273 | IFS="," | 
|---|
| 274 | for cfgParm in $parmList | 
|---|
| 275 | do | 
|---|
| 276 | IFS="$IFS_sv" | 
|---|
| 277 | cfgParm_lc=$cfgParm | 
|---|
| 278 |  | 
|---|
| 279 | case $cfgParm_lc in | 
|---|
| 280 | autoload ) | 
|---|
| 281 | defaultValue="no"; cfgParm=autoload ;; | 
|---|
| 282 | allowdummyconnections ) | 
|---|
| 283 | defaultValue="no"; cfgParm=allowDummyConnections ;; | 
|---|
| 284 | allowremoteconnections ) | 
|---|
| 285 | defaultValue="no"; cfgParm=allowRemoteConnections ;; | 
|---|
| 286 | allowsynchronousfcntlretries ) | 
|---|
| 287 | defaultValue="yes"; cfgParm=allowSynchronousFcntlRetries ;; | 
|---|
| 288 | assertonstructureerror ) | 
|---|
| 289 | defaultValue="no"; cfgParm=assertOnStructureError ;; | 
|---|
| 290 | asyncsocketnotify ) | 
|---|
| 291 | defaultValue="no"; cfgParm=asyncSocketNotify ;; | 
|---|
| 292 | automountdir ) | 
|---|
| 293 | defaultValue="/gpfs/automountdir"; cfgParm=automountDir ;; | 
|---|
| 294 | autosgloadbalance ) | 
|---|
| 295 | defaultValue="no"; cfgParm=autoSgLoadBalance ;; | 
|---|
| 296 | cipherlist ) | 
|---|
| 297 | defaultValue="(undefined)"; cfgParm=cipherList ;; | 
|---|
| 298 | clusterid ) | 
|---|
| 299 | defaultValue="(undefined)"; cfgParm=clusterId ;; | 
|---|
| 300 | clustername ) | 
|---|
| 301 | defaultValue="(undefined)"; cfgParm=clusterName ;; | 
|---|
| 302 | crashdump ) | 
|---|
| 303 | defaultValue="0"; cfgParm=crashdump ;; | 
|---|
| 304 | datastructuredump ) | 
|---|
| 305 | defaultValue="yes"; cfgParm=dataStructureDump ;; | 
|---|
| 306 | datastructuredumponsgpanic ) | 
|---|
| 307 | defaultValue="no"; cfgParm=dataStructureDumpOnSGPanic ;; | 
|---|
| 308 | distributedtokenserver ) | 
|---|
| 309 | defaultValue="yes"; cfgParm=distributedTokenServer ;; | 
|---|
| 310 | dmapienable ) | 
|---|
| 311 | defaultValue="yes"; cfgParm=dmapiEnable ;; | 
|---|
| 312 | dmapieventbuffers ) | 
|---|
| 313 | defaultValue="64"; cfgParm=dmapiEventBuffers ;; | 
|---|
| 314 | dmapieventtimeout ) | 
|---|
| 315 | defaultValue="86400000"; cfgParm=dmapiEventTimeout ;; | 
|---|
| 316 | dmapimounttimeout ) | 
|---|
| 317 | defaultValue="60"; cfgParm=dmapiMountTimeout ;; | 
|---|
| 318 | dmapisessionfailuretimeout ) | 
|---|
| 319 | defaultValue="0"; cfgParm=dmapiSessionFailureTimeout ;; | 
|---|
| 320 | dmapiworkerthreads ) | 
|---|
| 321 | defaultValue="12"; cfgParm=dmapiWorkerThreads ;; | 
|---|
| 322 | eewatchdoghungthreadcutoff ) | 
|---|
| 323 | defaultValue="60"; cfgParm=eeWatchDogHungThreadCutoff ;; | 
|---|
| 324 | eewatchdoginterval ) | 
|---|
| 325 | defaultValue="90"; cfgParm=eeWatchDogInterval ;; | 
|---|
| 326 | enableuidremap ) | 
|---|
| 327 | defaultValue="no"; cfgParm=enableUIDremap ;; | 
|---|
| 328 | enablestatuidremap ) | 
|---|
| 329 | defaultValue="no"; cfgParm=enableStatUIDremap ;; | 
|---|
| 330 | enabletreebasedquotas ) | 
|---|
| 331 | defaultValue="no"; cfgParm=enableTreeBasedQuotas ;; | 
|---|
| 332 | envvar ) | 
|---|
| 333 | defaultValue="(undefined)"; cfgParm=envVar ;; | 
|---|
| 334 | flusheddatatarget ) | 
|---|
| 335 | defaultValue="32"; cfgParm=flushedDataTarget ;; | 
|---|
| 336 | flushedinodetarget ) | 
|---|
| 337 | defaultValue="32"; cfgParm=flushedInodeTarget ;; | 
|---|
| 338 | healthcheckinterval ) | 
|---|
| 339 | defaultValue="0"; cfgParm=healthCheckInterval ;; | 
|---|
| 340 | hotlistpct ) | 
|---|
| 341 | defaultValue="10"; cfgParm=hotlistPct ;; | 
|---|
| 342 | ignorereplicaspaceonstat ) | 
|---|
| 343 | defaultValue="no"; cfgParm=IgnoreReplicaSpaceOnStat ;; | 
|---|
| 344 | iohistorysize ) | 
|---|
| 345 | defaultValue="512"; cfgParm=ioHistorySize ;; | 
|---|
| 346 | leasedmstimeout ) | 
|---|
| 347 | defaultValue="2/3 leaseDuration"; cfgParm=leaseDMSTimeout ;; | 
|---|
| 348 | leaseduration ) | 
|---|
| 349 | defaultValue="35"; cfgParm=leaseDuration ;; | 
|---|
| 350 | leaserecoverywait ) | 
|---|
| 351 | defaultValue="35"; cfgParm=leaseRecoveryWait ;; | 
|---|
| 352 | license ) | 
|---|
| 353 | defaultValue="(undefined)"; cfgParm=LICENSE ;; | 
|---|
| 354 | listenonallinterfaces ) | 
|---|
| 355 | defaultValue="yes"; cfgParm=listenOnAllInterfaces ;; | 
|---|
| 356 | maxallocpcttocache ) | 
|---|
| 357 | defaultValue="0"; cfgParm=maxAllocPctToCache ;; | 
|---|
| 358 | maxbackgrounddeletionthreads ) | 
|---|
| 359 | defaultValue="4"; cfgParm=maxBackgroundDeletionThreads ;; | 
|---|
| 360 | maxblocksize ) | 
|---|
| 361 | defaultValue="1M"; cfgParm=maxblocksize ;; | 
|---|
| 362 | maxbufferdescs ) | 
|---|
| 363 | defaultValue="-1"; cfgParm=maxBufferDescs ;; | 
|---|
| 364 | maxdatashippoolsize ) | 
|---|
| 365 | defaultValue="266240"; cfgParm=maxDataShipPoolSize ;; | 
|---|
| 366 | maxdiskaddrbuffs ) | 
|---|
| 367 | defaultValue="-1"; cfgParm=maxDiskAddrBuffs ;; | 
|---|
| 368 | maxfcntlrangesperfile ) | 
|---|
| 369 | defaultValue="200"; cfgParm=maxFcntlRangesPerFile ;; | 
|---|
| 370 | maxfilecleaners ) | 
|---|
| 371 | defaultValue="8"; cfgParm=maxFileCleaners ;; | 
|---|
| 372 | maxfilestocache ) | 
|---|
| 373 | defaultValue="1000"; cfgParm=maxFilesToCache ;; | 
|---|
| 374 | maxinodedeallochistory ) | 
|---|
| 375 | defaultValue="50"; cfgParm=maxInodeDeallocHistory ;; | 
|---|
| 376 | maxinodedeallocprefetch ) | 
|---|
| 377 | defaultValue="8"; cfgParm=maxInodeDeallocPrefetch ;; | 
|---|
| 378 | maxmbps ) | 
|---|
| 379 | defaultValue="150"; cfgParm=maxMBpS ;; | 
|---|
| 380 | maxmissedpingtimeout ) | 
|---|
| 381 | defaultValue="60"; cfgParm=maxMissedPingTimeout ;; | 
|---|
| 382 | maxnfsdelegationtimeout ) | 
|---|
| 383 | defaultValue="60"; cfgParm=maxNFSDelegationTimeout ;; | 
|---|
| 384 | maxreceiverthreads ) | 
|---|
| 385 | defaultValue="16"; cfgParm=maxReceiverThreads ;; | 
|---|
| 386 | maxsgdesciobufsize ) | 
|---|
| 387 | defaultValue="262144"; cfgParm=maxSGDescIOBufSize ;; | 
|---|
| 388 | maxstatcache ) | 
|---|
| 389 | defaultValue="4*maxFilesToCache"; cfgParm=maxStatCache ;; | 
|---|
| 390 | maxtokenservers ) | 
|---|
| 391 | defaultValue="128"; cfgParm=maxTokenServers ;; | 
|---|
| 392 | minmissedpingtimeout ) | 
|---|
| 393 | defaultValue="8"; cfgParm=minMissedPingTimeout ;; | 
|---|
| 394 | minquorumnodes ) | 
|---|
| 395 | defaultValue="1"; cfgParm=minQuorumNodes ;; | 
|---|
| 396 | mmapkprocs ) | 
|---|
| 397 | defaultValue="3"; cfgParm=mmapKprocs ;; | 
|---|
| 398 | mmsdrservtimeout ) | 
|---|
| 399 | defaultValue="10"; cfgParm=mmsdrservTimeout ;; | 
|---|
| 400 | mmsdrservworkerpool ) | 
|---|
| 401 | defaultValue="10"; cfgParm=mmsdrservWorkerPool ;; | 
|---|
| 402 | multitmmountthreshold ) | 
|---|
| 403 | defaultValue="2"; cfgParm=multiTMMountThreshold ;; | 
|---|
| 404 | nfsprefetchstrategy ) | 
|---|
| 405 | defaultValue="0"; cfgParm=nfsPrefetchStrategy ;; | 
|---|
| 406 | nsdbufspace ) | 
|---|
| 407 | defaultValue="30"; cfgParm=nsdbufspace ;; | 
|---|
| 408 | nsdinlinewritemax ) | 
|---|
| 409 | defaultValue="1024"; cfgParm=nsdInlineWriteMax ;; | 
|---|
| 410 | nsdmaxworkerthreads ) | 
|---|
| 411 | defaultValue="32"; cfgParm=nsdMaxWorkerThreads ;; | 
|---|
| 412 | nsdminworkerthreads ) | 
|---|
| 413 | defaultValue="8"; cfgParm=nsdMinWorkerThreads ;; | 
|---|
| 414 | nsdservercheckingintervalformount ) | 
|---|
| 415 | defaultValue="10"; cfgParm=nsdServerCheckingIntervalForMount ;; | 
|---|
| 416 | nsdserverwaitconfig ) | 
|---|
| 417 | defaultValue="2"; cfgParm=nsdServerWaitConfig ;; | 
|---|
| 418 | nsdserverwaittimeformount ) | 
|---|
| 419 | defaultValue="300"; cfgParm=nsdServerWaitTimeForMount ;; | 
|---|
| 420 | nsdserverwaittimewindowonmount ) | 
|---|
| 421 | defaultValue="600"; cfgParm=nsdServerWaitTimeWindowOnMount ;; | 
|---|
| 422 | nsdthreadsperdisk ) | 
|---|
| 423 | defaultValue="3"; cfgParm=nsdThreadsPerDisk ;; | 
|---|
| 424 | opensslenginename ) | 
|---|
| 425 | defaultValue="(undefined)"; cfgParm=opensslEngineName ;; | 
|---|
| 426 | openssllibname ) | 
|---|
| 427 | defaultValue="(undefined)"; cfgParm=openssllibname ;; | 
|---|
| 428 | pagepool ) | 
|---|
| 429 | defaultValue="64M"; cfgParm=pagepool ;; | 
|---|
| 430 | panicondiskfail ) | 
|---|
| 431 | defaultValue="no"; cfgParm=unmountOnDiskFail ;; | 
|---|
| 432 | pcttokenmgrstorageuse ) | 
|---|
| 433 | defaultValue="25"; cfgParm=pctTokenMgrStorageUse ;; | 
|---|
| 434 | pindaemon ) | 
|---|
| 435 | defaultValue="no"; cfgParm=pindaemon ;; | 
|---|
| 436 | pingperiod ) | 
|---|
| 437 | defaultValue="2"; cfgParm=pingPeriod ;; | 
|---|
| 438 | pinmaster ) | 
|---|
| 439 | defaultValue="stack 256K data 4096K"; cfgParm=pinmaster ;; | 
|---|
| 440 | prefetchpct ) | 
|---|
| 441 | defaultValue="20"; cfgParm=prefetchPct ;; | 
|---|
| 442 | prefetchthreads ) | 
|---|
| 443 | defaultValue="72"; cfgParm=prefetchThreads ;; | 
|---|
| 444 | prefetchtimeout ) | 
|---|
| 445 | defaultValue="5"; cfgParm=prefetchTimeout ;; | 
|---|
| 446 | priority ) | 
|---|
| 447 | defaultValue="40"; cfgParm=priority ;; | 
|---|
| 448 | readreplicapolicy ) | 
|---|
| 449 | defaultValue="default"; cfgParm=readReplicaPolicy ;; | 
|---|
| 450 | res ) | 
|---|
| 451 | defaultValue="(undefined)"; cfgParm=res ;; | 
|---|
| 452 | retryfcntltokenthreshold ) | 
|---|
| 453 | defaultValue="3"; cfgParm=retryFcntlTokenThreshold ;; | 
|---|
| 454 | seqdiscardthreshhold ) | 
|---|
| 455 | defaultValue="1M"; cfgParm=seqDiscardThreshhold ;; | 
|---|
| 456 | setctimeonattrchange ) | 
|---|
| 457 | defaultValue="yes"; cfgParm=setCtimeOnAttrChange ;; | 
|---|
| 458 | sharedmemlimit ) | 
|---|
| 459 | defaultValue="0"; cfgParm=sharedMemLimit ;; | 
|---|
| 460 | socketrcvbuffersize ) | 
|---|
| 461 | defaultValue="0"; cfgParm=socketRcvBufferSize ;; | 
|---|
| 462 | socketsndbuffersize ) | 
|---|
| 463 | defaultValue="0"; cfgParm=socketSndBufferSize ;; | 
|---|
| 464 | statcachedirpct ) | 
|---|
| 465 | defaultValue="10"; cfgParm=statCacheDirPct ;; | 
|---|
| 466 | statmaxattrage ) | 
|---|
| 467 | defaultValue="0"; cfgParm=statMaxAttrAge ;; | 
|---|
| 468 | subnets ) | 
|---|
| 469 | defaultValue="(undefined)"; cfgParm=subnets ;; | 
|---|
| 470 | syncinterval ) | 
|---|
| 471 | defaultValue="70"; cfgParm=syncInterval ;; | 
|---|
| 472 | takeovertimeout ) | 
|---|
| 473 | defaultValue="600"; cfgParm=takeovertimeout ;; | 
|---|
| 474 | tokenmemlimit ) | 
|---|
| 475 | defaultValue="256M"; cfgParm=tokenMemLimit ;; | 
|---|
| 476 | totalpingtimeout ) | 
|---|
| 477 | defaultValue="120"; cfgParm=totalPingTimeout ;; | 
|---|
| 478 | trace ) | 
|---|
| 479 | defaultValue="all 0"; cfgParm=trace ;; | 
|---|
| 480 | tracebuffersizeforaix ) | 
|---|
| 481 | defaultValue="(undefined)"; cfgParm=traceBufferSizeForAIX ;; | 
|---|
| 482 | tracedevbuffersize ) | 
|---|
| 483 | defaultValue="(undefined)"; cfgParm=tracedevBufferSize ;; | 
|---|
| 484 | tracegendump ) | 
|---|
| 485 | defaultValue="(undefined)"; cfgParm=traceGenDump ;; | 
|---|
| 486 | tracegensubdir ) | 
|---|
| 487 | defaultValue="(undefined)"; cfgParm=traceGenSubDir ;; | 
|---|
| 488 | tracefilesize ) | 
|---|
| 489 | defaultValue="(undefined)"; cfgParm=traceFileSize ;; | 
|---|
| 490 | tracelogquiet ) | 
|---|
| 491 | defaultValue="(undefined)"; cfgParm=traceLogQuiet ;; | 
|---|
| 492 | tracerecycle ) | 
|---|
| 493 | defaultValue="(undefined)"; cfgParm=traceRecycle ;; | 
|---|
| 494 | tscprimary ) | 
|---|
| 495 | defaultValue="255.255.255.255"; cfgParm=tscPrimary ;; | 
|---|
| 496 | tscworkerpool ) | 
|---|
| 497 | defaultValue="10"; cfgParm=tscWorkerPool ;; | 
|---|
| 498 | udaplrdma ) | 
|---|
| 499 | defaultValue="disable"; cfgParm=udaplRdma ;; | 
|---|
| 500 | udaplports ) | 
|---|
| 501 | defaultValue="(undefined)"; cfgParm=udaplPorts ;; | 
|---|
| 502 | udaplrdmaspernode ) | 
|---|
| 503 | defaultValue="(undefined)"; cfgParm=udaplRdmasPerNode ;; | 
|---|
| 504 | udaplrdmasperconnection ) | 
|---|
| 505 | defaultValue="(undefined)"; cfgParm=udaplRdmasPerConnection ;; | 
|---|
| 506 | udaplrdmaminbytes ) | 
|---|
| 507 | defaultValue="16384"; cfgParm=udaplRdmasMinBytes ;; | 
|---|
| 508 | verbsrdma ) | 
|---|
| 509 | defaultValue="disable"; cfgParm=verbsRdma ;; | 
|---|
| 510 | verbsports ) | 
|---|
| 511 | defaultValue="(undefined)"; cfgParm=verbsPorts ;; | 
|---|
| 512 | verbsrdmaspernode ) | 
|---|
| 513 | defaultValue="(undefined)"; cfgParm=verbsRdmasPerNode ;; | 
|---|
| 514 | verbsrdmasperconnection ) | 
|---|
| 515 | defaultValue="(undefined)"; cfgParm=verbsRdmasPerConnection ;; | 
|---|
| 516 | verbsrdmaminbytes ) | 
|---|
| 517 | defaultValue="16384"; cfgParm=verbsRdmasMinBytes ;; | 
|---|
| 518 | uiddomain ) | 
|---|
| 519 | defaultValue="(undefined)"; cfgParm=uidDomain ;; | 
|---|
| 520 | uidexpiration ) | 
|---|
| 521 | defaultValue="36000"; cfgParm=uidExpiration ;; | 
|---|
| 522 | unmountondiskfail ) | 
|---|
| 523 | defaultValue="no"; cfgParm=unmountOnDiskFail ;; | 
|---|
| 524 | wait4rvsd ) | 
|---|
| 525 | defaultValue="no"; cfgParm=wait4RVSD ;; | 
|---|
| 526 | waitforvsd ) | 
|---|
| 527 | defaultValue="no"; cfgParm=wait4RVSD ;; | 
|---|
| 528 | watchdogtimeout ) | 
|---|
| 529 | defaultValue="20"; cfgParm=watchdogtimeout ;; | 
|---|
| 530 | worker1threads ) | 
|---|
| 531 | defaultValue="48"; cfgParm=worker1Threads ;; | 
|---|
| 532 | worker3threads ) | 
|---|
| 533 | defaultValue="8"; cfgParm=worker3Threads ;; | 
|---|
| 534 | writealldescreplicas ) | 
|---|
| 535 | defaultValue="no"; cfgParm=writeAllDescReplicas ;; | 
|---|
| 536 | writebehindthreshhold ) | 
|---|
| 537 | defaultValue="512K"; cfgParm=writebehindThreshhold ;; | 
|---|
| 538 | * ) | 
|---|
| 539 | defaultValue="(undefined)"; cfgParm="$cfgParm" ;; | 
|---|
| 540 |  | 
|---|
| 541 | esac  # end of case $cfgParm_lc in | 
|---|
| 542 |  | 
|---|
| 543 | # Invoke the function to retrieve and display the data. | 
|---|
| 544 | listCfgValue "$cfgParm" "$defaultValue" $mmfscfgFile $linePrefix | 
|---|
| 545 |  | 
|---|
| 546 | done  # end of for cfgParm in $parmList | 
|---|
| 547 |  | 
|---|
| 548 | cleanupAndExit 0 | 
|---|
| 549 |  | 
|---|